External datasource schema

Prev Next

Reference for <systemKey>-datasource-*.json — business metadata, dimensions, foreign keys, capabilities, CIP execution, sync, and exposure.

Source of truth

  • Schema file: external-datasource.schema.json (the documentation anchor mirrors the Dataplane source; the Builder CLI ships the consumer copy)
  • Schema key: external-datasource-schema
  • Version: 2.9.13 (verify in schema metadata.version)

Validate:

aifabrix validate <datasourceKey>
aifabrix datasource validate <datasourceKey>

Top-level fields (summary)

Field Purpose
key / systemKey Datasource and parent system identifiers
entityType / resourceType Business entity classification — entityType enum: documentStorage, vectorStore, recordStorage, messageService, serviceContract, none; resourceType is a catalog key
fieldMappings Attribute normalization rules (raw/foreign-key values to normalized attributes); keys must match metadataSchema
dimensions Root-level ABAC dimension bindings (not nested under fieldMappings) — see Configure business policies
foreignKeys Cross-system relationships
capabilities Operation keys bound to openapi / execution.cip operations, with optional risk metadata
execution Execution engine configuration — cip (native), python, or datasource-chaining
documentStorage Binary operation binding, processing and ingestion eligibility for document entities
sync enabled, direction, full-set schedule, batch size, and optional incrementalKey / incrementalSchedule — see Configure sync
exposed REST/MCP publication flags
externalSpec Authoritative vendor/API spec reference for this datasource

Important rules

  • Root externalSpec is the datasource-grade contract source; system JSON OpenAPI/MCP are hints only.
  • Dimensions and foreignKeys drive ABAC and Enterprise Knowledge relationships.
  • Published MCP/REST tools deduplicate to enterprise capability keys at compile time.
  • CIP write shape accepts declared create, update, upsert, and delete. An upsert composes the datasource's standard create and update operations and fails closed when identity or branch permission is unresolved.
  • CIP fetch.responseType accepts json (default) or binary; binary fetch is supported for openapi and http. output.mode: documents requires enabled document storage and emits stored-document references. A keyed-only get needs no list operation. See Build a document storage entity.
  • A new sync configuration defaults to enabled monthly UTC. Existing schedule-less configurations remain manual-only; sync.enabled: false blocks synchronization while retaining schedule settings.
  • This page summarizes fields — it is not a second schema. When prose and JSON Schema conflict, the schema file wins.

Related