/** * @example * { * provider: "slack" * } */ export interface HandlerConnectorCreateReq { /** Authentication method for the provider connection (e.g. `api_token`, `oauth`). */ authType?: string; /** Default collection partition for synced objects. Deprecated alias: `sub_tenant_id`. */ collection?: string; /** Provider-specific credentials (typically `{"api_token": "..."}` or `{"access_token": "..."}`). */ credentials?: Record; /** * CustomInstructions optionally steers how this connector's synced * documents are ingested and indexed. Max 4000 characters; editable later * via PATCH. */ customInstructions?: string; /** * Database/Collection are the canonical v2 names; TenantID/SubTenantID are * their deprecated aliases, reconciled by the TenantAliases middleware before * binding so TenantID is always populated. Neither is marked binding:required * (mirroring TenantCreateRequest): a caller may send either spelling, and the * tenant scope is validated downstream by resolveTenant. Requiring tenant_id * here would force the generated SDK to demand the deprecated field. */ database?: string; /** Human-readable label for this connector. */ name?: string; /** External provider being synced (e.g. `slack`, `github`, `linear`, `notion`, `gmail`). */ provider: string; /** Identifier for the external account (e.g. Slack workspace ID, GitHub org name). Must be distinct across connectors for the same provider. */ providerAccountScope?: string; /** deprecated: use collection */ subTenantId?: string; /** How frequently the scheduler triggers incremental syncs, in seconds. Bounded per provider; send 0 or omit to use the provider default. Change it later with PATCH /connectors/{id}. */ syncIntervalSeconds?: number; /** deprecated: use database */ tenantId?: string; }