> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Conare's API is at https://api.conare.ai. Authenticate with `Authorization: Bearer $CONARE_API_KEY`.
> The full OpenAPI spec is at https://api.conare.ai/openapi.yaml; each endpoint has a page under /api-reference, and appending .md to any page URL returns its Markdown.
> Embed with model conare-embed-1; send input_type "query" for search queries. Rerank with conare-rerank-1.
> Prefer the TypeScript SDK (`npm install conare`) or plain HTTP in examples.
> Install the Conare skill with `npx skills add https://docs.conare.ai`; search these docs over MCP at https://docs.conare.ai/mcp; the whole site is at https://docs.conare.ai/llms-full.txt.

# Quellen

> Verbinden Sie HubSpot, Gmail oder GitHub mit einem Namespace, und rufen Sie Quellen ab, listen Sie sie auf, synchronisieren oder trennen Sie sie.

Eine Quelle synchronisiert eine App in einen Namespace: Neue und geänderte Datensätze werden geschrieben, gelöschte werden gelöscht. Quellen benötigen einen [Schlüssel](https://docs.conare.ai/de/console.md#schlüssel) mit Vollzugriff; für einen Bucket siehe [Google Cloud Storage](https://docs.conare.ai/de/gcs.md).

## Eine Quelle verbinden

`POST /sources`

```bash curl theme={null}
curl https://api.conare.ai/sources \
  -H "Authorization: Bearer $CONARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "hubspot", "namespace": "crm", "redirect_url": "https://yourapp.com/settings"}'
```

```ts TypeScript theme={null}
const { source, connectUrl } = await conare.sources.connect({
  type: "hubspot",
  namespace: "crm",
  redirectUrl: "https://yourapp.com/settings",
});
```

```json Response theme={null}
{
  "source": {
    "id": "src_1cff2c6ea888bbc8343b6e38",
    "type": "hubspot",
    "name": "HubSpot",
    "namespace": "crm",
    "status": "connecting",
    "error": null,
    "documents": 0,
    "last_synced_at": null,
    "created_at": "2026-10-21T21:40:39.704618Z",
    "sync_interval_s": null,
    "sync_interval_auto": true,
    "next_sync_at": null,
    "cost": { "rows_billed": true, "usd_per_million_rows": 100, "options": [ ... ] }
  },
  "connect_url": "https://..."
}
```

Leiten Sie den Eigentümer der App zu `connect_url` weiter (7 Tage gültig); die erste Synchronisierung startet, sobald er sich verbindet.

| Option | Typ | Funktion |
| - | - | - |
| `type` | string, erforderlich | Die App, aus [der Liste](#die-apps-auflisten) |
| `namespace` | string, erforderlich | Der Namespace, in den synchronisiert wird |
| `name` | string | Ein Anzeigename, bis zu 100 Zeichen |
| `redirect_url` | string | Wohin der Nutzer nach dem Verbinden geleitet wird |
| `sync_interval_s` | integer | Sekunden zwischen Synchronisierungen, 300 bis 2.592.000 (30 Tage); ohne Angabe wählt Conare einen Wert |
| `config` | object | Für Apps, die sich mit einem Schlüssel verbinden (Twenty, Granola, GitHub): `api_key` sowie `base_url` für ein selbst gehostetes Twenty; diese synchronisieren sofort, ohne `connect_url` |

Um die Apps Ihrer Nutzer zu verbinden, geben Sie jedem Nutzer einen Namespace, etwa `user-42`. Vollständiges Schema: [Eine Quelle verbinden](https://docs.conare.ai/de/api-reference/sources/connect-a-source.md).

## Synchronisierte Dokumente

| | |
| - | - |
| Id | `<source id>:<schema>:<record key>` |
| Metadaten | `source`, `source_id`, `schema`, `title` sowie `url`, `author`, `created_at`, `updated_at`, wenn der Datensatz sie hat |
| Eine Quelle durchsuchen | [Filtern](https://docs.conare.ai/de/filters.md) nach `source_id` |

## Eine Quelle abrufen

`GET /sources/:id`

```bash curl theme={null}
curl https://api.conare.ai/sources/src_1cff2c6ea888bbc8343b6e38 \
  -H "Authorization: Bearer $CONARE_API_KEY"
```

| Feld | Bedeutung |
| - | - |
| `id`, `type`, `name`, `namespace` | Wie verbunden |
| `status` | `connecting` (wartet auf Anmeldung), `syncing`, `ready` oder `error` |
| `error` | Was fehlgeschlagen ist, oder `null` |
| `documents` | Bisher synchronisierte Dokumente |
| `progress` | Während der Synchronisierung die bisherigen `records_pulled` |
| `created_at`, `last_synced_at`, `next_sync_at` | Wann sie verbunden wurde, zuletzt synchronisiert hat und als Nächstes synchronisiert |
| `sync_interval_s`, `sync_interval_auto` | Sekunden zwischen Synchronisierungen und ob Conare sie wählt |
| `cost` | Was eine Synchronisierung liest und was jede Synchronisierungsfrequenz pro Monat kostet |

Vollständiges Schema: [Eine Quelle abrufen](https://docs.conare.ai/de/api-reference/sources/get-a-source.md).

## Quellen auflisten

`GET /sources`

Gibt `sources` zurück, jeweils so, wie Get sie liefert; eine Quelle mit einem `kind`, etwa `files` oder `gcs`, hat stattdessen ein `sync`-Objekt.

| Option | Typ | Funktion |
| - | - | - |
| `namespace`, `user`, `type` | string | Nur Quellen, deren Feld dem Wert entspricht, etwa `?namespace=crm&type=hubspot` |

Vollständiges Schema: [Quellen auflisten](https://docs.conare.ai/de/api-reference/sources/list-sources.md).

## Jetzt synchronisieren

`POST /sources/:id/sync`

Startet innerhalb von Sekunden eine Synchronisierung und gibt die Quelle zurück; eine Quelle im Status `connecting` gibt `409 conflict` zurück.

| Option | Typ | Funktion |
| - | - | - |
| `full` | boolean, Standard `false` | Alles erneut lesen, nicht nur Änderungen (Gmail, Twenty, Granola, GitHub); eine vollständige Gmail-Synchronisierung wird wie eine erste Synchronisierung abgerechnet, und `resync` weist darauf hin |

Vollständiges Schema: [Eine Quelle jetzt synchronisieren](https://docs.conare.ai/de/api-reference/sources/sync-a-source-now.md).

## Das Synchronisierungsintervall ändern

`PATCH /sources/:id`

| Option | Typ | Funktion |
| - | - | - |
| `sync_interval_s` | integer oder null | 300 bis 2.592.000 Sekunden; mit `null` wählt Conare |

Gibt die Quelle zurück. Vollständiges Schema: [Festlegen, wie oft eine Quelle synchronisiert](https://docs.conare.ai/de/api-reference/sources/set-how-often-a-source-syncs.md).

## Eine Quelle trennen

`DELETE /sources/:id`

Beendet die Synchronisierung und gibt `{ "deleted": true }` zurück.

| Option | Typ | Funktion |
| - | - | - |
| `delete_documents` | boolean, Standard `false` | Auch die synchronisierten Dokumente löschen |

Vollständiges Schema: [Eine Quelle trennen](https://docs.conare.ai/de/api-reference/sources/disconnect-a-source.md).

## Die Apps auflisten

`GET /sources/types`

```json Response theme={null}
{
  "types": [
    { "type": "affinity", "name": "Affinity", "logo_url": "https://..." },
    { "type": "airtable", "name": "Airtable", "logo_url": "https://..." }
  ]
}
```

* Jede hat den `type` zum Verbinden, ihren `name` und `logo_url` sowie `auth: "api_key"` für Apps, die sich mit `config` verbinden.
* `partial` ist `true`, wenn nur diese Apps aufgelistet werden konnten: Versuchen Sie es später erneut.

Vollständiges Schema: [Quelltypen auflisten](https://docs.conare.ai/de/api-reference/sources/list-source-types.md).


## Related topics

- [Namespaces](https://docs.conare.ai/de/namespaces.md)
- [List sources](https://docs.conare.ai/de/api-reference/sources/list-sources.md)
- [Preview a bucket](https://docs.conare.ai/de/api-reference/sources/preview-a-bucket.md)
- [Connect a source](https://docs.conare.ai/de/api-reference/sources/connect-a-source.md)
- [Disconnect a source](https://docs.conare.ai/de/api-reference/sources/disconnect-a-source.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.