curl 'https://api.hydradb.com/connectors/{id}' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"connector_id": "{connector_id}",
"provider": "slack",
"name": "acme-engineering",
"database": "acme_corp",
"collection": "engineering",
"tenant_id": "acme_corp",
"sub_tenant_id": "engineering",
"provider_account_scope": "T12345ACME",
"custom_instructions": "Prioritize decisions and owners.",
"lifecycle": "active",
"status": "active",
"sync_status": "idle",
"active_resource_count": 2,
"sync_interval_seconds": 3600,
"next_sync_at": "2026-06-01T13:00:00Z",
"last_successful_sync_at": "2026-06-01T12:05:00Z"
}
Get Connector
Read one connector’s settings and sync state.
curl 'https://api.hydradb.com/connectors/{id}' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"connector_id": "{connector_id}",
"provider": "slack",
"name": "acme-engineering",
"database": "acme_corp",
"collection": "engineering",
"tenant_id": "acme_corp",
"sub_tenant_id": "engineering",
"provider_account_scope": "T12345ACME",
"custom_instructions": "Prioritize decisions and owners.",
"lifecycle": "active",
"status": "active",
"sync_status": "idle",
"active_resource_count": 2,
"sync_interval_seconds": 3600,
"next_sync_at": "2026-06-01T13:00:00Z",
"last_successful_sync_at": "2026-06-01T12:05:00Z"
}
custom_instructions, its sync interval, and its sync state.
lifecycle is the field to read for what the connector is doing: pending_setup (no resources configured), ingesting (first sync not finished), syncing, active, paused, or reconnect (the provider rejected the credentials). status is deprecated and always active. For per-resource health, use Get Connector Status.
curl 'https://api.hydradb.com/connectors/{id}' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2"
{
"connector_id": "{connector_id}",
"provider": "slack",
"name": "acme-engineering",
"database": "acme_corp",
"collection": "engineering",
"tenant_id": "acme_corp",
"sub_tenant_id": "engineering",
"provider_account_scope": "T12345ACME",
"custom_instructions": "Prioritize decisions and owners.",
"lifecycle": "active",
"status": "active",
"sync_status": "idle",
"active_resource_count": 2,
"sync_interval_seconds": 3600,
"next_sync_at": "2026-06-01T13:00:00Z",
"last_successful_sync_at": "2026-06-01T12:05:00Z"
}
Errors
404: no connector with this id in your workspace.
Related Resources
- Update Connector: change these settings
- List Connector Resources: the connector’s resources
- Get Connector Status: per-resource health
Authorizations
API key sent as a Bearer token: "Bearer prefix.secret"
Path Parameters
Connector ID
"HydraDoc1234"
Response
OK
Number of active resources on this connector. Zero means none are configured yet, and lifecycle reads pending_setup.
1
Authentication method for the provider connection (e.g. api_token, oauth).
"api_token"
Default collection for synced data; a resource can override it. Formerly sub_tenant_id, which is still returned with the same value.
"team_docs"
Unique identifier of the connector.
"conn_abc123"
Instructions that steer how this connector's synced documents are ingested and indexed. Up to 4000 characters; changes apply from the next sync.
Database that receives the synced data. Formerly tenant_id, which is still returned with the same value.
"acme_corp"
Running total of objects sent for ingestion. It shows data is moving, not the indexed count: updates count again and deletes are not subtracted.
1
RFC3339 timestamp of the first sync that sent at least one object for ingestion. Empty until then.
RFC3339 timestamp of the most recent sync attempt (successful or not).
"2026-07-02T17:00:00Z"
Error message from the most recent failed sync, empty string when no error.
""
RFC3339 timestamp of the last successful sync completion.
"2026-07-02T17:00:00Z"
Current state: pending_setup (no active resources), ingesting (first sync unfinished), syncing, active, paused, or reconnect (credentials rejected or connector blocked).
Human-readable label for this connector.
"general"
True when the provider rejected the OAuth refresh token. Reconnect the account to resume syncing; clears on the next successful token refresh.
true
RFC3339 timestamp when needs_reauth was set.
Why the provider rejected the OAuth grant, when needs_reauth is true.
RFC3339 timestamp when the next scheduled sync will run.
"2026-07-02T18:00:00Z"
True while the connector is paused. Scheduled and manual syncs are both refused until it is resumed; each resource then continues from where it stopped.
true
RFC3339 timestamp when the connector was paused.
External provider being synced (e.g. slack, github, linear, notion, gmail).
"slack"
Identifier for the external account (e.g. Slack workspace ID, GitHub org name). Set a distinct value per account when you connect several accounts of one provider, so their objects cannot collide.
"T12345ACME"
Number of active resources that have not completed their first successful sync. While above zero, lifecycle reads ingesting.
1
Deprecated: always active. Read lifecycle for what the connector is doing.
"active"
Deprecated: use collection.
"sub_tenant_4567"
True when a failure retrying cannot fix, such as rejected credentials, stopped scheduled syncs. Updating credentials or configuration clears it.
true
RFC3339 timestamp when sync_blocked was set.
Error that blocked the connector, when sync_blocked is true. Up to 1000 characters.
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}.
3600
syncing while a sync is running, otherwise idle.
"idle"
Deprecated: use database.
"tenant_1234"
Was this page helpful?
