← API reference
CANONICAL TYPE REFERENCE

Report

A reusable report with an editable draft and immutable published versions.

Exact XML selected for publication. Setting it publishes only a matching draft, and preserves the immutable published source on read.

sourceString!

Effective report XML: exact draft source when a draft exists, otherwise the selected published version. JSON-authored definitions are exported losslessly.

Monotonic authoring revision; changes on draft saves and publication.

Opaque identifier of this resource.

nameString!

Human-readable name displayed to report authors.

Published version currently selected for this report; null before first publication.

hasDraftBoolean!

Whether an editable definition exists independently of the published version.

sourceXMLString

Exact authored draft XML, if present.

Editable definition JSON; null after publication.

archivedBoolean!

Whether the report has been archived from active authoring.

createdAtString!

Creation timestamp in ISO 8601 format.

updatedAtString!

Last modification timestamp in ISO 8601 format.

View exact SDL
"""
A reusable report with an editable draft and immutable published versions.
"""
type Report @iac_resource(name: "report") @iac_precondition(field: "revision", input: "expectedRevision") @iac_ops(create: "upsertReportSource", read: "getReport", update: "upsertReportSource", delete: "archiveReport") {
  """
  Exact XML selected for publication. Setting it publishes only a matching draft, and preserves the immutable published source on read.
  """
  publishedSource: String @iac_writtenBy(operation: "publishReportSource", argument: "sourceXML") @iac_artifact(language: XML, validators: ["report-source"])
  """
  Effective report XML: exact draft source when a draft exists, otherwise the selected published version. JSON-authored definitions are exported losslessly.
  """
  source: String! @iac_input(path: "sourceXML") @iac_artifact(language: XML, validators: ["report-source"])
  """Monotonic authoring revision; changes on draft saves and publication."""
  revision: Int! @iac_computed
  """Opaque identifier of this resource."""
  id: ReportID! @iac_computed @iac_identity(assignedBy: SERVER)
  """Human-readable name displayed to report authors."""
  name: String!
  """
  Published version currently selected for this report; null before first publication.
  """
  currentVersionId: ReportVersionID @iac_computed
  """
  Whether an editable definition exists independently of the published version.
  """
  hasDraft: Boolean! @iac_computed
  """Exact authored draft XML, if present."""
  sourceXML: String @iac_computed
  """Editable definition JSON; null after publication."""
  draftDefinition: String @iac_computed
  """Whether the report has been archived from active authoring."""
  archived: Boolean! @iac_computed
  """Creation timestamp in ISO 8601 format."""
  createdAt: String! @iac_computed
  """Last modification timestamp in ISO 8601 format."""
  updatedAt: String! @iac_computed
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.