Report
A reusable report with an editable draft and immutable published versions.
publishedSourceStringExact 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.
revisionInt!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.
sourceXMLStringExact authored draft XML, if present.
draftDefinitionStringEditable 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.