generated: '2026-10-05' method: derived generator: derive-data-model.py source: - openapi/looot-openapi.json notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 80 entities_in_spec: 80 relationships: 22 entities: - name: ApplyProviderActivationChange fields: 2 - name: Artifact fields: 11 - name: AuditPage fields: 3 - name: AuditRecord fields: 12 - name: CatalogOverview fields: 6 - name: CatalogOverviewTopic fields: 7 - name: ChangeOutputMappingPublication fields: 2 - name: CompatibilityEvidenceRef fields: 4 - name: Connection fields: 16 - name: ConnectionAlert fields: 7 - name: ConnectionAuthorization fields: 3 - name: ConnectionCallback fields: 2 - name: ConnectionFixtureReceipt fields: 7 - name: ConnectionFixtureReceiptHistory fields: 2 - name: ConnectionHealthReceipt fields: 11 - name: ConnectionProbeDefinition fields: 7 - name: ConnectionResource fields: 7 - name: ConnectionTestReceipt fields: 8 - name: CreateActivationProposal fields: 1 - name: CreateCompatibilityDraft fields: 1 - name: CreateNormalizedRoute fields: 6 - name: CreateOnboardingJob fields: 3 - name: CreateOutputMapping fields: 4 - name: CreateProviderActivationBundle fields: 1 - name: CreateProviderActivationChangeRequest fields: 5 - name: CreateProviderPackageDraft fields: 1 - name: CreateProviderPackageRevision fields: 3 - name: CreateWorkflow fields: 2 - name: DecideCompatibilityGate fields: 2 - name: DecideOnboardingJob fields: 4 - name: DecideProviderActivationChange fields: 2 - name: DecideProviderActivationEvidence fields: 2 - name: DecideProviderMapping fields: 3 - name: DecideQuarantineReview fields: 2 - name: DetectCandidateContradictions fields: 1 - name: ImportCandidates fields: 3 - name: ImportDirectEndpoints fields: 1 - name: ImportMetadataCandidates fields: 6 - name: InspectOutput fields: 7 - name: MintWorkflowToken fields: 1 - name: OutputMappingDefinition fields: 2 - name: PatchPlatformKey fields: 7 description: Same fields as SetPlatformKey minus secret -- every field optional, only the ones present are changed. Requires an existing platform key for this provider (nothing to reuse a vault ref from otherwise) - name: PlatformKey fields: 10 - name: PlatformKeyList fields: 1 - name: PreviewOutputMapping fields: 3 - name: PublicCatalogComparison fields: 3 - name: PublicCatalogItem fields: 19 - name: PublicCatalogPage fields: 5 - name: PublishProviderRegistry fields: 2 - name: PublishPublicCatalog fields: 1 - name: PublishWorkflow fields: 1 - name: QuarantineReview fields: 8 - name: RegisterConnection fields: 22 description: One of api_key (default when kind is omitted), oauth, service_account, credential_file, signed_request, or cli_auth, discriminated by kind - name: RegisterDirectEndpoint fields: 4 description: provider is optional when :providerId already exists; required (displayName at minimum) when it does not. See DirectEndpointRegistrationInputSchema in src/import/direct-endpoint-registration-service.t - name: RequestQuarantineReview fields: 3 - name: ResolveReconciliation fields: 4 - name: ResolveWorkflowApproval fields: 3 - name: ResolveWorkflowCallback fields: 1 - name: ReviewCandidate fields: 2 - name: ReviseOutputMapping fields: 3 - name: ReviseWorkflow fields: 1 - name: RotateConnection fields: 1 - name: RunRequest fields: 6 - name: SelectConnectionResource fields: 1 - name: SessionContext fields: 8 - name: SetPlatformKey fields: 8 - name: StartWorkflow fields: 1 - name: SubmitCompatibilityGate fields: 3 - name: SubmitProviderActivationEvidence fields: 4 - name: SupplySecondaryCredential fields: 1 - name: ValidateProviderMapping fields: 1 - name: WorkflowComparison fields: 3 - name: WorkflowMapping fields: 0 - name: WorkflowRunIf fields: 2 - name: WorkspaceDirectory fields: 5 - name: WorkspaceDirectoryMutationResult fields: 2 - name: WorkspaceDirectoryPage fields: 3 - name: WorkspaceFile fields: 10 - name: WorkspaceRead fields: 2 - name: WorkspaceUsage fields: 4 relationships: - from: WorkspaceRead to: WorkspaceFile type: has_one via: file - from: WorkspaceDirectoryMutationResult to: WorkspaceDirectory type: has_one via: directory - from: AuditPage to: AuditRecord type: has_many via: records - from: PublicCatalogPage to: PublicCatalogItem type: has_many via: items - from: PublicCatalogComparison to: PublicCatalogItem type: has_many via: items - from: Connection to: ConnectionHealthReceipt type: has_one via: lastProbe - from: Connection to: ConnectionFixtureReceipt type: has_one via: latestTestReceipt - from: RegisterConnection to: ConnectionProbeDefinition type: has_one via: probe - from: ConnectionHealthReceipt to: Connection type: belongs_to via: connectionId - from: ConnectionResource to: Connection type: belongs_to via: connectionId - from: PlatformKeyList to: PlatformKey type: has_many via: platformKeys - from: ConnectionAlert to: Connection type: belongs_to via: connectionId - from: ConnectionTestReceipt to: Connection type: belongs_to via: connectionId - from: ConnectionFixtureReceipt to: Connection type: belongs_to via: connectionId - from: ConnectionFixtureReceiptHistory to: ConnectionFixtureReceipt type: has_one via: latest - from: ConnectionFixtureReceiptHistory to: ConnectionFixtureReceipt type: has_many via: receipts - from: SubmitCompatibilityGate to: CompatibilityEvidenceRef type: has_many via: evidenceRefs - from: DecideProviderMapping to: CompatibilityEvidenceRef type: has_many via: evidenceRefs - from: SubmitProviderActivationEvidence to: CompatibilityEvidenceRef type: has_many via: evidenceRefs - from: CreateProviderActivationChangeRequest to: Connection type: belongs_to via: connectionId - from: CreateOutputMapping to: OutputMappingDefinition type: has_one via: definition - from: ReviseOutputMapping to: OutputMappingDefinition type: has_one via: definition