v1

latestOpenAPI 3.1.0Proprietary2026-07-262570100.1 KB
connectors

Create a connector

Create a connector for a provider and store its credentials.

post/connectors

Request body

auth_typestring

Authentication method for the provider connection (e.g. api_token, oauth).

collectionstring

Default collection partition for synced objects. Deprecated alias: sub_tenant_id.

credentialsobject

Provider-specific credentials (typically {"api_token": "..."} or {"access_token": "..."}).

databasestring

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.

deployment_idstring

Internal deployment context for this connector.

namestring

Human-readable label for this connector.

planstring

Subscription plan this connector runs under.

providerstring required

External provider being synced (e.g. slack, github, linear, notion, gmail).

provider_account_scopestring

Identifier for the external account (e.g. Slack workspace ID, GitHub org name). Must be distinct across connectors for the same provider.

sub_tenant_idstring

deprecated: use collection

sync_enginestring

SyncEngine selects the sync pipeline: "classic" (default) or "moveit".

sync_interval_secondsinteger

How frequently the scheduler triggers incremental syncs, in seconds.

tenant_idstring

deprecated: use database

Example request

{
  "auth_type": "api_token",
  "collection": "team_docs",
  "credentials": {
    "api_token": "xoxb-..."
  },
  "database": "acme_corp",
  "deployment_id": "deploy_1234",
  "name": "general",
  "plan": "pro",
  "provider": "slack",
  "provider_account_scope": "T12345ACME",
  "sub_tenant_id": "sub_tenant_4567",
  "sync_interval_seconds": 3600,
  "tenant_id": "tenant_1234"
}

Response

Created

auth_typestring

Authentication method for the provider connection (e.g. api_token, oauth).

collectionstring

Default collection partition for synced objects. Canonical name; mirrors the deprecated sub_tenant_id alias.

connector_idstring

Connector this resource belongs to.

credential_refstring

Internal reference to the stored credential record.

databasestring

Database/Collection are the canonical v2 names for the deprecated tenant_id/sub_tenant_id wire fields. They mirror the same values so a v2 client sees the canonical names on responses while a legacy client keeps reading tenant_id/sub_tenant_id. Not persisted (dynamodbav:"-"): the store builds items from tenant_id/sub_tenant_id and mirrors these on load. They are populated at every construction point (toConnector, connectorFromItem) rather than via MarshalJSON so Temporal's JSON data converter round-trips Connector activity inputs without spuriously populating them.

deployment_idstring

Internal deployment context for this connector.

last_attempted_sync_atstring

RFC3339 timestamp of the most recent sync attempt (successful or not).

last_errorstring

Error message from the most recent failed sync, empty string when no error.

last_successful_sync_atstring

RFC3339 timestamp of the last successful sync completion.

namestring

Human-readable label for this connector.

next_sync_atstring

RFC3339 timestamp when the next scheduled sync will run.

org_idstring

Organization that owns this resource.

planstring

Subscription plan this connector runs under.

providerstring

External provider being synced (e.g. slack, github, linear, notion, gmail).

provider_account_scopestring

Identifier for the external account (e.g. Slack workspace ID, GitHub org name). Must be distinct across connectors for the same provider.

statusstring

Lifecycle status of the connector (e.g. active, paused, error).

sub_tenant_idstring

Default collection partition for synced objects. Deprecated — use collection.

sync_enginestring

SyncEngine is "classic" (default, empty treated as classic) or "moveit". See the SyncEngine* constants; the scheduler branches on it.

sync_interval_secondsinteger

How frequently the scheduler triggers incremental syncs, in seconds.

sync_statusstring

Current sync operation state (e.g. idle, running).

tenant_idstring

Database that receives synced data. Deprecated — use database.

user_idstring

User that created or owns this resource.

Example response

{
  "auth_type": "api_token",
  "collection": "team_docs",
  "connector_id": "conn_abc123",
  "credential_ref": "cred_1a2b3c",
  "database": "acme_corp",
  "deployment_id": "deploy_1234",
  "last_attempted_sync_at": "2026-07-02T17:00:00Z",
  "last_successful_sync_at": "2026-07-02T17:00:00Z",
  "name": "general",
  "next_sync_at": "2026-07-02T18:00:00Z",
  "org_id": "org_1a2b3c",
  "plan": "pro",
  "provider": "slack",
  "provider_account_scope": "T12345ACME",
  "status": "completed",
  "sub_tenant_id": "sub_tenant_4567",
  "sync_interval_seconds": 3600,
  "sync_status": "idle",
  "tenant_id": "tenant_1234",
  "user_id": "user_alex"
}