Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.wellapp.ai/llms.txt

Use this file to discover all available pages before exploring further.

AccountWorkspaceConnector is a per-entity junction record that tracks provenance for an Account → WorkspaceConnector association. Each row captures which connector (input or output) interacted with a given bank account, discriminated by direction, following the same document_workspace_connectors pattern. Tenant scope is inherited transitively through account.workspace and workspaceConnector.workspace — no direct workspace_pk column is stored on the junction itself. Rows are written exclusively by the connector sync pipeline and are never modified by users.
NamingValue
ObjectAccountWorkspaceConnector
Resource type (JSON:API type)account_workspace_connector
Collection / records root(not a records root)
REST base/v1/account-workspace-connectors
Entity classAccountWorkspaceConnector
Internal object. Not currently exposed on the public REST API. The operations below describe the intended contract.

API operations

OperationMethod & pathStatus
ListGET /v1/account-workspace-connectors🟡 Planned
RetrieveGET /v1/account-workspace-connectors/{id}🟡 Planned
CreatePOST /v1/account-workspace-connectors🟡 Planned
UpdatePATCH /v1/account-workspace-connectors/{id}🟡 Planned
DeleteDELETE /v1/account-workspace-connectors/{id}🟡 Planned

Data model

Attributes

FieldTypeRequiredConstraintsAllowed valuesDescription
direction🔒 system — enum (direction_enum)✅ YesNative Postgres enum core_api.direction_enum; stored values are the enum VALUE strings”input” (source / data collection), “output” (router / data distribution)Indicates whether this workspace connector is acting as a data source (input) or a data sink/router (output) for the associated account.
created_at🔒 system — datetime✅ YesSet on INSERT via onCreate hook; Postgres default now(). Never null.Timestamp when this provenance row was created by the connector sync pipeline.
updated_at🔒 system — datetime⚪ NoSet on INSERT and again on every UPDATE via onCreate / onUpdate hooks. Nullable.Timestamp of the last update to this row. Null until the first update occurs after creation.
deleted_at🔒 system — datetime⚪ NoNullable; set to a timestamp on soft-delete, null when active.Soft-delete timestamp. When non-null the row is logically deleted. All queries must filter deleted_at IS NULL.

Relationships

NameTypeRequiredDescription
accountto-one (ManyToOne)✅ YesThe bank account this provenance row is attached to. FK account_pk references core_api.accounts.pk ON UPDATE CASCADE. Tenant isolation for this junction is derived from the account’s workspace.
workspaceConnectorto-one (ManyToOne)✅ YesThe workspace-scoped connector instance that interacted with the account. FK workspace_connector_pk references core_api.workspace_connectors.pk ON UPDATE CASCADE. Combined with direction this identifies the specific sync source or output sink.

System-computed

  • pk — auto-increment serial primary key, internal only; never exposed on the public API.
  • created_at — set automatically via MikroORM onCreate hook (and Postgres default now()); not writable after insert.
  • updated_at — set automatically via MikroORM onCreate and onUpdate hooks; updated on every flush.
  • deleted_at — populated exclusively by soft-delete logic in the sync pipeline; no user-initiated deletion path.
  • direction — written at row creation time by the connector sync orchestrator based on the connector’s role; never changed after insert.
  • No workspace_pk column: tenant scope is resolved by traversing the account → workspace or workspaceConnector → workspace relationship, consistent with the document_workspace_connectors design precedent.
  • No UNIQUE constraint on (account_pk, workspace_connector_pk, direction) — duplicate rows are allowed by design in the current schema; deduplication is deferred to iteration 3+ per migration comments.
  • No external_id field — external object identity is deferred to a future iteration; this table records the connector pointer only.
  • Rows are created exclusively by the connector sync pipeline (connector sync writer). There is no resource PATCH endpoint for this entity.

Example

{
  "data": {
    "type": "account_workspace_connector",
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "attributes": {
      "direction": "input",
      "created_at": "2026-05-10T08:14:22.000Z",
      "updated_at": "2026-05-10T08:14:22.000Z",
      "deleted_at": null
    },
    "relationships": {
      "account": {
        "data": { "type": "account", "id": "a1b2c3d4-0000-0000-0000-000000000001" }
      },
      "workspace_connector": {
        "data": { "type": "workspace_connector", "id": "d4c3b2a1-0000-0000-0000-000000000002" }
      }
    }
  }
}
Source: apps/api/src/database/entities/AccountWorkspaceConnector.ts · domain: ingestion · tier: Infrastructure