> ## 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.

# Fontes

> Conecte um app como HubSpot, Gmail ou GitHub a um namespace e depois obtenha, liste, sincronize, altere o intervalo ou desconecte cada fonte.

Uma fonte sincroniza um app com um namespace: registros novos e alterados são gravados, e os excluídos são excluídos. Fontes exigem uma [chave](https://docs.conare.ai/pt-BR/console.md#chaves) com acesso Full; para um bucket, veja [Google Cloud Storage](https://docs.conare.ai/pt-BR/gcs.md).

## Conectar uma fonte

`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://..."
}
```

Envie o dono do app para a `connect_url` (válida por 7 dias); a primeira sincronização começa quando ele se conecta.

| Opção | Tipo | O que faz |
| - | - | - |
| `type` | string, obrigatório | O app, da [lista](#listar-os-apps) |
| `namespace` | string, obrigatório | O namespace a sincronizar |
| `name` | string | Um nome de exibição, de até 100 caracteres |
| `redirect_url` | string | Para onde enviar o usuário depois que ele se conecta |
| `sync_interval_s` | integer | Segundos entre sincronizações, de 300 a 2.592.000 (30 dias); a Conare escolhe um se omitido |
| `config` | object | Para apps que se conectam com uma chave (Twenty, Granola, GitHub): `api_key`, e `base_url` para um Twenty auto-hospedado; estes sincronizam na hora, sem `connect_url` |

Para conectar os apps dos seus usuários, dê a cada usuário um namespace, como `user-42`. Schema completo: [Conectar uma fonte](https://docs.conare.ai/pt-br/api-reference/sources/connect-a-source.md).

## Documentos sincronizados

| | |
| - | - |
| Id | `<source id>:<schema>:<record key>` |
| Metadados | `source`, `source_id`, `schema`, `title`, e `url`, `author`, `created_at`, `updated_at` quando o registro os tem |
| Buscar em uma fonte | [Filtre](https://docs.conare.ai/pt-BR/filters.md) por `source_id` |

## Obter uma fonte

`GET /sources/:id`

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

| Campo | Significado |
| - | - |
| `id`, `type`, `name`, `namespace` | Como conectado |
| `status` | `connecting` (aguardando login), `syncing`, `ready` ou `error` |
| `error` | O que falhou, ou `null` |
| `documents` | Documentos que ela sincronizou |
| `progress` | Durante a sincronização, `records_pulled` até o momento |
| `created_at`, `last_synced_at`, `next_sync_at` | Quando foi conectada, sincronizada pela última vez e quando sincroniza de novo |
| `sync_interval_s`, `sync_interval_auto` | Segundos entre sincronizações, e se a Conare os escolhe |
| `cost` | O que uma sincronização lê, e quanto cada frequência de sincronização custa por mês |

Schema completo: [Obter uma fonte](https://docs.conare.ai/pt-br/api-reference/sources/get-a-source.md).

## Listar fontes

`GET /sources`

Retorna `sources`, cada uma como o Get a retorna; uma fonte com um `kind`, como `files` ou `gcs`, tem um objeto `sync` no lugar.

| Opção | Tipo | O que faz |
| - | - | - |
| `namespace`, `user`, `type` | string | Apenas fontes cujo campo é igual ao valor, como `?namespace=crm&type=hubspot` |

Schema completo: [Listar fontes](https://docs.conare.ai/pt-br/api-reference/sources/list-sources.md).

## Sincronizar agora

`POST /sources/:id/sync`

Inicia uma sincronização em segundos e retorna a fonte; uma fonte ainda em `connecting` retorna `409 conflict`.

| Opção | Tipo | O que faz |
| - | - | - |
| `full` | boolean, padrão `false` | Lê tudo de novo, não só as alterações (Gmail, Twenty, Granola, GitHub); uma sincronização completa do Gmail é cobrada como uma primeira sincronização, e `resync` indica isso |

Schema completo: [Sincronizar uma fonte agora](https://docs.conare.ai/pt-br/api-reference/sources/sync-a-source-now.md).

## Alterar o intervalo de sincronização

`PATCH /sources/:id`

| Opção | Tipo | O que faz |
| - | - | - |
| `sync_interval_s` | integer ou null | De 300 a 2.592.000 segundos; `null` deixa a Conare escolher |

Retorna a fonte. Schema completo: [Definir a frequência de sincronização de uma fonte](https://docs.conare.ai/pt-br/api-reference/sources/set-how-often-a-source-syncs.md).

## Desconectar uma fonte

`DELETE /sources/:id`

Para a sincronização e retorna `{ "deleted": true }`.

| Opção | Tipo | O que faz |
| - | - | - |
| `delete_documents` | boolean, padrão `false` | Também exclui os documentos que ela sincronizou |

Schema completo: [Desconectar uma fonte](https://docs.conare.ai/pt-br/api-reference/sources/disconnect-a-source.md).

## Listar os apps

`GET /sources/types`

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

* Cada um tem o `type` para conectar, seu `name` e `logo_url`, e `auth: "api_key"` para apps que se conectam com `config`.
* `partial` é `true` quando só esses apps puderam ser listados: tente de novo mais tarde.

Schema completo: [Listar tipos de fonte](https://docs.conare.ai/pt-br/api-reference/sources/list-source-types.md).


## Related topics

- [Google Cloud Storage](https://docs.conare.ai/pt-BR/gcs.md)
- [Namespaces](https://docs.conare.ai/pt-BR/namespaces.md)
- [Connect a source](https://docs.conare.ai/pt-br/api-reference/sources/connect-a-source.md)
- [Disconnect a source](https://docs.conare.ai/pt-br/api-reference/sources/disconnect-a-source.md)
- [List sources](https://docs.conare.ai/pt-br/api-reference/sources/list-sources.md)


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