---
title: "Create a connector resource"
method: POST
path: "/connectors/{id}/resources"
tags: ["connectors"]
---

# Create a connector resource

`POST /connectors/{id}/resources`

Add a resource mapping to a connector.

## Path parameters

- `id` string, required

## Request body

- HandlerResourceCreateReq
  - `additional_metadata` object — Key-value pairs merged into document metadata on every synced object from this resource.
  - `collection_override` string
  - `database_override` string
  - `display_name` string — Human-readable name for this resource.
  - `filters` object — Provider-specific filters applied during sync (e.g. `{"lookback_days": 30}`).
  - `metadata` object — Key-value pairs merged into tenant metadata on every synced object from this resource.
  - `provider_metadata` object — Additional provider-supplied metadata for this resource.
  - `resource_id` string, required — Resource identifier from the Discover endpoint.
  - `resource_type` string — Type of resource within the provider (e.g. `channel`, `repo`, `linear_team`).
  - `sub_tenant_id_override` string — deprecated: use collection_override
  - `tenant_id_override` string — DatabaseOverride/CollectionOverride are the canonical v2 names; TenantIDOverride/SubTenantIDOverride are their deprecated aliases.

## Response `201`

Created

- ConnectorsResource
  - `additional_metadata` object — AdditionalMetadata is merged into the additional_metadata (document metadata) layer of every object synced from this resource. User-supplied keys are shallow-merged as the base; provider-generated fields are applied on top and always win on conflict.
  - `backfill_chunk_interval_seconds` integer — BackfillChunkIntervalSeconds is the pacing interval persisted at configure time so the scheduler can thread it into each chunk's workflow input.
  - `backfill_next_chunk_at` string — BackfillNextChunkAt is the RFC3339 time the next chunk becomes due. The backfill workflow processes one chunk then sets this to now+interval and exits; the connector scheduler starts the next chunk once it passes.
  - `backfill_oldest` string — BackfillOldest is an RFC3339 timestamp marking the oldest boundary remaining for async historical backfill. Empty means backfill is complete or not needed.
  - `backfill_status` string — BackfillStatus gates the sparse ResourcesByBackfillNextChunkAt GSI: it is set to BackfillStatusActive while a historical backfill is in progress and removed when it completes, so only actively-backfilling resources appear in the scheduler's due query. Pacing between chunks is driven by that scheduler (see BackfillNextChunkAt), not by an in-workflow sleep.
  - `collection_override` string — Routes this resource's synced objects into a specific collection, overriding the connector's. Canonical name; mirrors the deprecated `sub_tenant_id_override` alias.
  - `connector_id` string — Connector this resource belongs to.
  - `database_override` string — DatabaseOverride/CollectionOverride are the canonical v2 names for the deprecated tenant_id_override/sub_tenant_id_override wire fields. Empty means the resource inherits the connector's database/collection, exactly as the deprecated fields do. Not persisted (dynamodbav:"-"): mirrored from the tenant_id_override/sub_tenant_id_override values at construction time.
  - `display_name` string — Human-readable name for this resource.
  - `filters` object — Provider-specific filters applied during sync (e.g. `{"lookback_days": 30}`).
  - `metadata` object — Metadata is merged into the tenant metadata layer of every object synced from this resource. User-supplied keys are shallow-merged as the base; system defaults (connector_id, provider) are applied on top so they always win on conflict — user keys extend the map but cannot override system-set fields.
  - `provider_cursor` string — Bookmark of the last synced position. Non-empty value confirms the first sync has run.
  - `provider_metadata` object — Additional provider-supplied metadata for this resource.
  - `resource_id` string — Resource identifier from the Discover endpoint.
  - `resource_type` string — Type of resource within the provider (e.g. `channel`, `repo`, `linear_team`).
  - `status` string — Current sync state of this resource (e.g. `active`, `paused`).
  - `sub_tenant_id_override` string — Overrides the connector-level collection for objects synced from this resource.
  - `tenant_id_override` string — Overrides the connector-level database for objects synced from this resource. Deprecated.

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/hydradb/apis/hydradb-application-api.md) · [All operations](https://skmtc.net/hydradb/apis/hydradb-application-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hydradb/hydradb-application-api/versions/c773cb4e113a/schema)
