# Packages

## Domain Types

### Input State

- `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.

  - `effective_bindings?: Record<string, unknown>`

  - `effective_schema?: EffectiveSchema`

    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?: unknown`

      Schema for properties not named in `properties`.

    - `const?: unknown`

      Constant allowed value.

    - `default?: unknown`

      Default value (annotation).

    - `description?: string`

      Human-readable description (annotation).

    - `enum?: Array<unknown>`

      Enumerated allowed values.

    - `format?: string`

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

    - `items?: unknown`

      Schema for array items.

    - `maximum?: number`

    - `maxItems?: number`

    - `maxLength?: number`

    - `minimum?: number`

    - `minItems?: number`

    - `minLength?: number`

    - `pattern?: string`

    - `properties?: unknown`

      Property schemas, keyed by property name.

    - `readOnly?: boolean`

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

    - `required?: Array<string>`

      Names of required properties.

    - `title?: string`

      Human-readable title (annotation).

    - `type?: "object" | "array" | "string" | 4 more`

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

      - `"object"`

      - `"array"`

      - `"string"`

      - `"integer"`

      - `"number"`

      - `"boolean"`

      - `"null"`

    - `writeOnly?: boolean`

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

### Package

- `Package`

  - `id: string`

  - `created_at: string`

  - `kind: string`

  - `name: string`

  - `published: boolean`

    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.

  - `updated_at: string`

  - `current_version?: PackageVersion`

    - `id: string`

    - `created_at: string`

    - `manifest_sha: string`

    - `name: string`

    - `owner_type: "platform" | "customer"`

      - `"platform"`

      - `"customer"`

    - `version: number`

    - `archived_at?: string | null`

    - `created_by?: string`

    - `description?: string`

    - `icon_url?: 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?: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `links?: Array<Link>`

      - `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?: Record<string, unknown>`

        Additional metadata keyed by property name.

      - `titles?: Record<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: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `properties?: Record<string, unknown>`

      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?: Array<string>`

  - `description?: string`

  - `draft?: PackageDraft`

    - `id: string`

    - `manifest_sha: string`

    - `name: string`

    - `updated_at: string`

    - `description?: string`

    - `icon_url?: 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?: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `links?: Array<Link>`

      - `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?: Record<string, unknown>`

        Additional metadata keyed by property name.

      - `titles?: Record<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: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `properties?: Record<string, unknown>`

      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?: Array<string>`

  - `icon_url?: string`

  - `input_state?: 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.

    - `effective_bindings?: Record<string, unknown>`

    - `effective_schema?: EffectiveSchema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

        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?: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `links?: Array<Link>`

    - `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?: Record<string, unknown>`

      Additional metadata keyed by property name.

    - `titles?: Record<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: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `properties?: Record<string, unknown>`

    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: "global" | "org" | "zone"`

      Scope type of the catalog where the package is authored.

      - `"global"`

      - `"org"`

      - `"zone"`

  - `tags?: Array<string>`

### Package Draft

- `PackageDraft`

  - `id: string`

  - `manifest_sha: string`

  - `name: string`

  - `updated_at: string`

  - `description?: string`

  - `icon_url?: 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?: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `links?: Array<Link>`

    - `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?: Record<string, unknown>`

      Additional metadata keyed by property name.

    - `titles?: Record<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: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `properties?: Record<string, unknown>`

    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?: Array<string>`

### Package Input Binding

- `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?: Schema`

    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?: unknown`

      Schema for properties not named in `properties`.

    - `const?: unknown`

      Constant allowed value.

    - `default?: unknown`

      Default value (annotation).

    - `description?: string`

      Human-readable description (annotation).

    - `enum?: Array<unknown>`

      Enumerated allowed values.

    - `format?: string`

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

    - `items?: unknown`

      Schema for array items.

    - `maximum?: number`

    - `maxItems?: number`

    - `maxLength?: number`

    - `minimum?: number`

    - `minItems?: number`

    - `minLength?: number`

    - `pattern?: string`

    - `properties?: unknown`

      Property schemas, keyed by property name.

    - `readOnly?: boolean`

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

    - `required?: Array<string>`

      Names of required properties.

    - `title?: string`

      Human-readable title (annotation).

    - `type?: "object" | "array" | "string" | 4 more`

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

      - `"object"`

      - `"array"`

      - `"string"`

      - `"integer"`

      - `"number"`

      - `"boolean"`

      - `"null"`

    - `writeOnly?: boolean`

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

### Package List

- `PackageList`

  - `items: Array<Package>`

    - `id: string`

    - `created_at: string`

    - `kind: string`

    - `name: string`

    - `published: boolean`

      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.

    - `updated_at: string`

    - `current_version?: PackageVersion`

      - `id: string`

      - `created_at: string`

      - `manifest_sha: string`

      - `name: string`

      - `owner_type: "platform" | "customer"`

        - `"platform"`

        - `"customer"`

      - `version: number`

      - `archived_at?: string | null`

      - `created_by?: string`

      - `description?: string`

      - `icon_url?: 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?: Schema`

          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?: unknown`

            Schema for properties not named in `properties`.

          - `const?: unknown`

            Constant allowed value.

          - `default?: unknown`

            Default value (annotation).

          - `description?: string`

            Human-readable description (annotation).

          - `enum?: Array<unknown>`

            Enumerated allowed values.

          - `format?: string`

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

          - `items?: unknown`

            Schema for array items.

          - `maximum?: number`

          - `maxItems?: number`

          - `maxLength?: number`

          - `minimum?: number`

          - `minItems?: number`

          - `minLength?: number`

          - `pattern?: string`

          - `properties?: unknown`

            Property schemas, keyed by property name.

          - `readOnly?: boolean`

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

          - `required?: Array<string>`

            Names of required properties.

          - `title?: string`

            Human-readable title (annotation).

          - `type?: "object" | "array" | "string" | 4 more`

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

            - `"object"`

            - `"array"`

            - `"string"`

            - `"integer"`

            - `"number"`

            - `"boolean"`

            - `"null"`

          - `writeOnly?: boolean`

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

      - `links?: Array<Link>`

        - `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?: Record<string, unknown>`

          Additional metadata keyed by property name.

        - `titles?: Record<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: Schema`

          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?: unknown`

            Schema for properties not named in `properties`.

          - `const?: unknown`

            Constant allowed value.

          - `default?: unknown`

            Default value (annotation).

          - `description?: string`

            Human-readable description (annotation).

          - `enum?: Array<unknown>`

            Enumerated allowed values.

          - `format?: string`

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

          - `items?: unknown`

            Schema for array items.

          - `maximum?: number`

          - `maxItems?: number`

          - `maxLength?: number`

          - `minimum?: number`

          - `minItems?: number`

          - `minLength?: number`

          - `pattern?: string`

          - `properties?: unknown`

            Property schemas, keyed by property name.

          - `readOnly?: boolean`

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

          - `required?: Array<string>`

            Names of required properties.

          - `title?: string`

            Human-readable title (annotation).

          - `type?: "object" | "array" | "string" | 4 more`

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

            - `"object"`

            - `"array"`

            - `"string"`

            - `"integer"`

            - `"number"`

            - `"boolean"`

            - `"null"`

          - `writeOnly?: boolean`

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

      - `properties?: Record<string, unknown>`

        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?: Array<string>`

    - `description?: string`

    - `draft?: PackageDraft`

      - `id: string`

      - `manifest_sha: string`

      - `name: string`

      - `updated_at: string`

      - `description?: string`

      - `icon_url?: 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?: Schema`

          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?: unknown`

            Schema for properties not named in `properties`.

          - `const?: unknown`

            Constant allowed value.

          - `default?: unknown`

            Default value (annotation).

          - `description?: string`

            Human-readable description (annotation).

          - `enum?: Array<unknown>`

            Enumerated allowed values.

          - `format?: string`

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

          - `items?: unknown`

            Schema for array items.

          - `maximum?: number`

          - `maxItems?: number`

          - `maxLength?: number`

          - `minimum?: number`

          - `minItems?: number`

          - `minLength?: number`

          - `pattern?: string`

          - `properties?: unknown`

            Property schemas, keyed by property name.

          - `readOnly?: boolean`

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

          - `required?: Array<string>`

            Names of required properties.

          - `title?: string`

            Human-readable title (annotation).

          - `type?: "object" | "array" | "string" | 4 more`

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

            - `"object"`

            - `"array"`

            - `"string"`

            - `"integer"`

            - `"number"`

            - `"boolean"`

            - `"null"`

          - `writeOnly?: boolean`

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

      - `links?: Array<Link>`

        - `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?: Record<string, unknown>`

          Additional metadata keyed by property name.

        - `titles?: Record<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: Schema`

          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?: unknown`

            Schema for properties not named in `properties`.

          - `const?: unknown`

            Constant allowed value.

          - `default?: unknown`

            Default value (annotation).

          - `description?: string`

            Human-readable description (annotation).

          - `enum?: Array<unknown>`

            Enumerated allowed values.

          - `format?: string`

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

          - `items?: unknown`

            Schema for array items.

          - `maximum?: number`

          - `maxItems?: number`

          - `maxLength?: number`

          - `minimum?: number`

          - `minItems?: number`

          - `minLength?: number`

          - `pattern?: string`

          - `properties?: unknown`

            Property schemas, keyed by property name.

          - `readOnly?: boolean`

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

          - `required?: Array<string>`

            Names of required properties.

          - `title?: string`

            Human-readable title (annotation).

          - `type?: "object" | "array" | "string" | 4 more`

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

            - `"object"`

            - `"array"`

            - `"string"`

            - `"integer"`

            - `"number"`

            - `"boolean"`

            - `"null"`

          - `writeOnly?: boolean`

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

      - `properties?: Record<string, unknown>`

        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?: Array<string>`

    - `icon_url?: string`

    - `input_state?: 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.

      - `effective_bindings?: Record<string, unknown>`

      - `effective_schema?: EffectiveSchema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

          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?: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `links?: Array<Link>`

      - `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?: Record<string, unknown>`

        Additional metadata keyed by property name.

      - `titles?: Record<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: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `properties?: Record<string, unknown>`

      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: "global" | "org" | "zone"`

        Scope type of the catalog where the package is authored.

        - `"global"`

        - `"org"`

        - `"zone"`

    - `tags?: Array<string>`

  - `pagination: Pagination`

    Cursor-based pagination metadata returned alongside a list of results

    - `after_cursor: string | null`

      An opaque cursor used for paginating through a list of results

    - `before_cursor: string | null`

      An opaque cursor used for paginating through a list of results

    - `total_count?: number`

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

### Package Output Binding

- `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: Schema`

    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?: unknown`

      Schema for properties not named in `properties`.

    - `const?: unknown`

      Constant allowed value.

    - `default?: unknown`

      Default value (annotation).

    - `description?: string`

      Human-readable description (annotation).

    - `enum?: Array<unknown>`

      Enumerated allowed values.

    - `format?: string`

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

    - `items?: unknown`

      Schema for array items.

    - `maximum?: number`

    - `maxItems?: number`

    - `maxLength?: number`

    - `minimum?: number`

    - `minItems?: number`

    - `minLength?: number`

    - `pattern?: string`

    - `properties?: unknown`

      Property schemas, keyed by property name.

    - `readOnly?: boolean`

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

    - `required?: Array<string>`

      Names of required properties.

    - `title?: string`

      Human-readable title (annotation).

    - `type?: "object" | "array" | "string" | 4 more`

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

      - `"object"`

      - `"array"`

      - `"string"`

      - `"integer"`

      - `"number"`

      - `"boolean"`

      - `"null"`

    - `writeOnly?: boolean`

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

### Package Source

- `PackageSource`

  Provenance info for a package originating from an ancestor catalog.

  - `scope: "global" | "org" | "zone"`

    Scope type of the catalog where the package is authored.

    - `"global"`

    - `"org"`

    - `"zone"`

# Versions

## Domain Types

### Package Version

- `PackageVersion`

  - `id: string`

  - `created_at: string`

  - `manifest_sha: string`

  - `name: string`

  - `owner_type: "platform" | "customer"`

    - `"platform"`

    - `"customer"`

  - `version: number`

  - `archived_at?: string | null`

  - `created_by?: string`

  - `description?: string`

  - `icon_url?: 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?: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `links?: Array<Link>`

    - `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?: Record<string, unknown>`

      Additional metadata keyed by property name.

    - `titles?: Record<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: Schema`

      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?: unknown`

        Schema for properties not named in `properties`.

      - `const?: unknown`

        Constant allowed value.

      - `default?: unknown`

        Default value (annotation).

      - `description?: string`

        Human-readable description (annotation).

      - `enum?: Array<unknown>`

        Enumerated allowed values.

      - `format?: string`

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

      - `items?: unknown`

        Schema for array items.

      - `maximum?: number`

      - `maxItems?: number`

      - `maxLength?: number`

      - `minimum?: number`

      - `minItems?: number`

      - `minLength?: number`

      - `pattern?: string`

      - `properties?: unknown`

        Property schemas, keyed by property name.

      - `readOnly?: boolean`

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

      - `required?: Array<string>`

        Names of required properties.

      - `title?: string`

        Human-readable title (annotation).

      - `type?: "object" | "array" | "string" | 4 more`

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

        - `"object"`

        - `"array"`

        - `"string"`

        - `"integer"`

        - `"number"`

        - `"boolean"`

        - `"null"`

      - `writeOnly?: boolean`

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

  - `properties?: Record<string, unknown>`

    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?: Array<string>`

### Package Version List

- `PackageVersionList`

  - `items: Array<PackageVersion>`

    - `id: string`

    - `created_at: string`

    - `manifest_sha: string`

    - `name: string`

    - `owner_type: "platform" | "customer"`

      - `"platform"`

      - `"customer"`

    - `version: number`

    - `archived_at?: string | null`

    - `created_by?: string`

    - `description?: string`

    - `icon_url?: 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?: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `links?: Array<Link>`

      - `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?: Record<string, unknown>`

        Additional metadata keyed by property name.

      - `titles?: Record<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: Schema`

        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?: unknown`

          Schema for properties not named in `properties`.

        - `const?: unknown`

          Constant allowed value.

        - `default?: unknown`

          Default value (annotation).

        - `description?: string`

          Human-readable description (annotation).

        - `enum?: Array<unknown>`

          Enumerated allowed values.

        - `format?: string`

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

        - `items?: unknown`

          Schema for array items.

        - `maximum?: number`

        - `maxItems?: number`

        - `maxLength?: number`

        - `minimum?: number`

        - `minItems?: number`

        - `minLength?: number`

        - `pattern?: string`

        - `properties?: unknown`

          Property schemas, keyed by property name.

        - `readOnly?: boolean`

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

        - `required?: Array<string>`

          Names of required properties.

        - `title?: string`

          Human-readable title (annotation).

        - `type?: "object" | "array" | "string" | 4 more`

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

          - `"object"`

          - `"array"`

          - `"string"`

          - `"integer"`

          - `"number"`

          - `"boolean"`

          - `"null"`

        - `writeOnly?: boolean`

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

    - `properties?: Record<string, unknown>`

      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?: Array<string>`

  - `pagination: Pagination`

    Cursor-based pagination metadata returned alongside a list of results

    - `after_cursor: string | null`

      An opaque cursor used for paginating through a list of results

    - `before_cursor: string | null`

      An opaque cursor used for paginating through a list of results

    - `total_count?: number`

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