curl -X POST 'https://api.hydradb.com/connectors/{id}/resources' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2" \
-H "Content-Type: application/json" \
-d '{
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"collection_override": "all-hands",
"filters": { "lookback_days": 30 }
}'
{
"connector_id": "{connector_id}",
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"status": "active",
"provider_cursor": "",
"database_override": "",
"collection_override": "all-hands",
"tenant_id_override": "",
"sub_tenant_id_override": "all-hands",
"provider_metadata": null,
"filters": {
"lookback_days": 30
}
}
Add Connector Resource
Add one new resource to a connector.
curl -X POST 'https://api.hydradb.com/connectors/{id}/resources' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2" \
-H "Content-Type: application/json" \
-d '{
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"collection_override": "all-hands",
"filters": { "lookback_days": 30 }
}'
{
"connector_id": "{connector_id}",
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"status": "active",
"provider_cursor": "",
"database_override": "",
"collection_override": "all-hands",
"tenant_id_override": "",
"sub_tenant_id_override": "all-hands",
"provider_metadata": null,
"filters": {
"lookback_days": 30
}
}
resource_id that already exists, this call replaces the whole resource with what you send. Every field you leave out, including its display name, type, collection, instructions and access rule, is cleared, and the resource syncs again from the beginning.To change a resource that is already configured, use Update Connector Resource for instructions and access rules, or Configure Connector for routing and metadata.curl -X POST 'https://api.hydradb.com/connectors/{id}/resources' \
-H "Authorization: Bearer $HYDRA_DB_API_KEY" \
-H "API-Version: 2" \
-H "Content-Type: application/json" \
-d '{
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"collection_override": "all-hands",
"filters": { "lookback_days": 30 }
}'
{
"connector_id": "{connector_id}",
"resource_id": "C0123456789",
"resource_type": "channel",
"display_name": "general",
"status": "active",
"provider_cursor": "",
"database_override": "",
"collection_override": "all-hands",
"tenant_id_override": "",
"sub_tenant_id_override": "all-hands",
"provider_metadata": null,
"filters": {
"lookback_days": 30
}
}
resource_id and resource_type from Discover Resources, and always send display_name, since it is what the dashboard shows for the resource.
Related Resources
- Update Connector Resource: change an existing resource
- Configure Connector: add several resources and start a sync
- List Connector Resources: see what is configured
Authorizations
API key sent as a Bearer token: "Bearer prefix.secret"
Path Parameters
Connector ID
"HydraDoc1234"
Body
Resource configuration
Resource identifier from the Discover endpoint.
"C0123456789"
Restricts every object synced from this resource to the listed principals (emails or prefixed principals). Omitted means unrestricted. See Access Control.
Key-value pairs merged into the custom attributes of every synced object. Up to 1 KiB of compact JSON, checked when synced objects are ingested.
Show child attributes
Show child attributes
{ "author": "ada", "doc_version": 3 }
Routes objects synced from this resource into a specific collection. Empty means the connector's collection.
Ingestion and indexing instructions for this resource, replacing the connector's custom_instructions; empty inherits it. Up to 4000 characters.
Routes objects synced from this resource into a different database. Empty means the connector's database.
Human-readable name for this resource.
"general"
Provider-specific filters applied during sync (e.g. {"lookback_days": 30}).
Show child attributes
Show child attributes
{ "channel": "general" }
Key-value pairs merged into the attributes of every synced object. Up to 16 KiB of compact JSON, checked when synced objects are ingested.
Show child attributes
Show child attributes
{ "department": "finance", "priority": 7 }
Additional provider-supplied metadata for this resource.
Show child attributes
Show child attributes
{ "workspace_id": "T12345ACME" }
Type of resource within the provider (e.g. channel, repo, linear_team).
"channel"
Deprecated: use collection_override.
Deprecated: use database_override.
Response
Created
Principals (emails or prefixed principals) allowed to read objects synced from this resource. Absent means unrestricted; provider permissions take precedence where supported.
Why this resource's permissions could not be read. Without an access rule of yours, its objects are readable by everyone meanwhile; with one, your rule applies. Clears on the next successful read.
When acl_warning last changed (RFC 3339). An unchanged warning keeps its original time.
Key-value pairs merged into the custom attributes (additional_metadata) of every object synced from this resource. Provider-generated fields win on conflict.
Show child attributes
Show child attributes
{ "author": "ada", "doc_version": 3 }
Oldest point (RFC 3339) the background fetch of older history has reached. Empty when that fetch is finished or not needed.
"2026-06-01T00:00:00Z"
Routes this resource's synced objects into a specific collection, overriding the connector's. Formerly sub_tenant_id_override.
Connector this resource belongs to.
"conn_abc123"
Ingestion and indexing instructions for this resource, replacing the connector's custom_instructions; empty inherits it. Up to 4000 characters, applied from the next sync.
Database this resource's synced objects are routed to. Empty means the connector's own database.
Human-readable name for this resource.
"general"
Provider-specific filters applied during sync (e.g. {"lookback_days": 30}).
Show child attributes
Show child attributes
{ "channel": "general" }
Key-value pairs merged into the attributes (metadata) of every object synced from this resource. The system fields connector_id and provider always win on conflict.
Show child attributes
Show child attributes
{ "department": "finance", "priority": 7 }
Set when page-level restrictions in this resource (for example Confluence pages) could not be resolved, so those pages are readable by everyone. Clears after a clean full sync.
When page_acl_warning last changed (RFC 3339).
Bookmark of the last synced position. Non-empty value confirms the first sync has run.
"1699999999.000100"
Additional provider-supplied metadata for this resource.
Show child attributes
Show child attributes
{ "workspace_id": "T12345ACME" }
Resource identifier from the Discover endpoint.
"C0123456789"
Type of resource within the provider (e.g. channel, repo, linear_team).
"channel"
Current sync state of this resource (e.g. active, paused).
"active"
Deprecated: use collection_override.
true when syncing stopped because the provider keeps refusing this resource, for example a deleted table or an inaccessible channel. sync_blocked_reason says why.
true
When syncing of this resource was stopped (RFC 3339). Present only while sync_blocked is true.
The provider's explanation for why this resource is blocked. Present only while sync_blocked is true.
Deprecated: use database_override.
Was this page helpful?
