Integrations pillar · v0.14.0

integration Integration

Integration data contract aligned with ODPS input ports and ODCS contract concepts.

$id · https://corpospec.com/schemas/v0.14.0/integration.schema.json

Fields

Field Type Required Description
id PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
name string yes
status IntegrationStatus yes Integration lifecycle status.
system string yes
type IntegrationType yes Integration direction type.
config unknown Connector-specific opaque configuration for untyped connectors (Stripe, HubSpot, Linear, PostHog, Cloudflare, Segment, Mixpanel, etc.). Typed connectors (AdMob, App Store Connect, Google Play, Supabase, Sportmonks, GitHub) populate `typed_config` instead and leave this field empty. Mutually exclusive with `typed_config` in practice; either may be present, never both.
data_contract DataContract?
input_port InputPort?
outputs PathRef[]
pipeline Pipeline?
secret_bindings SecretBinding[] Credential bindings required by this connector. Declares env-var names and their sources (environment, vault, OAuth, cloud IAM) but never the secret values themselves.
typed_config ConnectorConfig? Typed connector-specific configuration for the six first-class connectors (see [`ConnectorConfig`]). Canonical alternative to `config` for connectors that have earned a typed variant.

Definitions

Shared types referenced within this schema.

AdUnit
A single ad unit (e.g. "rewarded video on iOS").
type: object
AdUnitFormat
Ad-unit format on an ad-network connector.
enum: "banner", "interstitial", "rewarded", "rewarded-interstitial", "app-open", "native"
Aggregation
Aggregation method for pipeline field mappings.
enum: "sum", "avg", "count", "first", "last", "max", "min", "median", "p50", "p95", "p99", "percentile", "ratio", "stddev", "variance"
AuthMethod
Authentication method.
AuthModel
Authentication model for a Supabase connector.
ConnectorConfig
Typed connector-specific configuration. Internally tagged on `kind`. Matches the Cockpit `TypedConnectorConfig` union verbatim (see `cockpit/src/components/onboarding/connectors/connector-types.ts`). Connectors not yet typed (Stripe, HubSpot, Linear, PostHog, Cloudflare, Segment, Mixpanel) remain on `Integration.config: serde_json::Value` until each earns a variant here.
ConnectorPlatform
Target platform for a connector binding.
enum: "ios", "android", "web", "mac-os", "windows", "linux"
DataContract
Data contract.
type: object
DataField
Data contract field definition.
type: object
DataQuality
Data quality constraints declared by the contract owner.
type: object
DataSchema
Data contract schema.
type: object
EdgeFunction
A Supabase edge function binding.
type: object
FieldMapping
Maps a source field to a CorpoSpec metric via aggregation.
type: object
Freshness
Freshness requirements.
type: object
InputPort
Input port configuration.
type: object
IntegrationStatus
Integration lifecycle status.
enum: "draft", "planned", "development", "testing", "active", "sunset", "retired"
IntegrationType
Integration direction type.
enum: "source", "destination", "bidirectional"
PathRef
Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
Pipeline
Pipeline configuration: how raw records are transformed into metric snapshots.
type: object
Protocol
Transport or API style declared on an input port. Internally tagged on `kind`. The `Other` variant carries a free-form label for bespoke protocols (e.g. `"Git CLI"`, `"WebRTC"`) that don't map onto one of the canonical transports. Prefer the named variants when they fit.
ScheduleBinding
A cron-style schedule bound to a connector task (e.g. Sportmonks daily-ingest).
type: object
SecretBinding
Declaration of a credential required by an integration. Captures the environment-variable / vault binding without embedding the secret itself. Distinct from connector-specific `config:` because bindings are deployment-environment concerns; config is integration shape.
type: object
SecretSource
Source of a secret referenced by an integration.
Sla
Service level agreement offered by the source system for this contract.
type: object

Reference in your YAML

# yaml-language-server: $schema=https://corpospec.com/schemas/v0.14.0/integration.schema.json