Skip to main content
POST
Adds a single resource to a connector without going through Configure Connector. The next scheduled sync picks up the resource. This call does not start a sync. On some connectors it tests access to the resource first, and returns 422 when the provider refuses it.
Use this only for resources the connector does not have yet. On a resource_id that already exists, this call returns 409 and changes nothing.To change a resource that is already configured, use Update Connector Resource for instructions and access rules, or Configure Connector for name, type, routing and metadata. To start a resource over, delete it with Delete Connector Resource, then add it again.
Take resource_id and resource_type from Discover Resources, and always send display_name, since it is what the dashboard shows for the resource.

Errors

  • 400: a field is invalid or not accepted.
  • 404: no connector with this id in your workspace.
  • 409: the connector already has a resource with this resource_id. Nothing was changed.
  • 422: HydraDB tested the resource and the provider refused access. The message says why.

Authorizations

Authorization
string
header
required

API key sent as a Bearer token: "Bearer prefix.secret"

Path Parameters

id
string
required

Connector ID

Example:

"HydraDoc1234"

Body

application/json

Resource configuration

resource_id
string
required

Resource identifier from the Discover endpoint.

Example:

"C0123456789"

acl
string[]

Restricts every object synced from this resource to the listed principals (emails or prefixed principals). Omitted means unrestricted. See Access Control.

additional_metadata
object

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.

Example:
collection_override
string

Routes objects synced from this resource into a specific collection. Empty means the connector's collection.

custom_instructions
string

Ingestion and indexing instructions for this resource, replacing the connector's custom_instructions; empty inherits it. Up to 4000 characters.

database_override
string

Routes objects synced from this resource into a different database. Empty means the connector's database.

display_name
string

Human-readable name for this resource.

Example:

"general"

filters
object

Provider-specific filters applied during sync (e.g. {"lookback_days": 30}).

Example:
metadata
object

Key-value pairs merged into the attributes of every synced object. Up to 16 KiB of compact JSON, checked when synced objects are ingested.

Example:
provider_metadata
object

Additional provider-supplied metadata for this resource.

Example:
resource_type
string

Type of resource within the provider (e.g. channel, repo, linear_team).

Example:

"channel"

sub_tenant_id_override
string
deprecated

Deprecated: use collection_override.

tenant_id_override
string
deprecated

Deprecated: use database_override.

Response

Created

acl
string[]

Principals (emails or prefixed principals) allowed to read objects synced from this resource. Absent means unrestricted; provider permissions take precedence where supported.

acl_warning
string

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.

acl_warning_at
string

When acl_warning last changed (RFC 3339). An unchanged warning keeps its original time.

additional_metadata
object

Key-value pairs merged into the custom attributes (additional_metadata) of every object synced from this resource. Provider-generated fields win on conflict.

Example:
backfill_oldest
string

Oldest point (RFC 3339) the background fetch of older history has reached. Empty when that fetch is finished or not needed.

Example:

"2026-06-01T00:00:00Z"

collection_override
string

Routes this resource's synced objects into a specific collection, overriding the connector's. Formerly sub_tenant_id_override.

connector_id
string

Connector this resource belongs to.

Example:

"conn_abc123"

custom_instructions
string

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_override
string

Database this resource's synced objects are routed to. Empty means the connector's own database.

display_name
string

Human-readable name for this resource.

Example:

"general"

filters
object

Provider-specific filters applied during sync (e.g. {"lookback_days": 30}).

Example:
metadata
object

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.

Example:
page_acl_warning
string

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.

page_acl_warning_at
string

When page_acl_warning last changed (RFC 3339).

provider_cursor
string

Bookmark of the last synced position. Non-empty value confirms the first sync has run.

Example:

"1699999999.000100"

provider_metadata
object

Additional provider-supplied metadata for this resource.

Example:
resource_id
string

Resource identifier from the Discover endpoint.

Example:

"C0123456789"

resource_type
string

Type of resource within the provider (e.g. channel, repo, linear_team).

Example:

"channel"

status
string

Current sync state of this resource (e.g. active, paused).

Example:

"active"

sub_tenant_id_override
string
deprecated

Deprecated: use collection_override.

sync_blocked
boolean

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.

Example:

true

sync_blocked_at
string

When syncing of this resource was stopped (RFC 3339). Present only while sync_blocked is true.

sync_blocked_reason
string

The provider's explanation for why this resource is blocked. Present only while sync_blocked is true.

tenant_id_override
string
deprecated

Deprecated: use database_override.