---
title: "Get Source Connection"
method: GET
path: "/source-connections/{source_connection_id}"
tags: ["source-connections"]
---

# Get Source Connection

`GET /source-connections/{source_connection_id}`

## Request

- Base URL: `https://api.airweave.ai`
- URL: `https://api.airweave.ai/source-connections/{source_connection_id}`
- Auth: API key in header `x-api-key`

Retrieve details of a specific source connection.

Returns complete information about the connection including:
- Configuration settings
- Authentication status
- Sync schedule and history
- Entity statistics

## Path parameters

- `source_connection_id` string, uuid, required: Unique identifier of the source connection (UUID)

## Response `200`

Source connection details

- SourceConnection: Complete source connection details including auth, config, sync status, and entities. This schema provides full information about a source connection, suitable for detail views and monitoring sync progress.
  - `id` string, uuid, required: Unique identifier of the source connection
  - `organization_id` string, uuid, required: Organization this connection belongs to
  - `name` string, required: Display name of the connection
  - `description` string, nullable: Optional description of the connection's purpose
  - `short_name` string, required: Source type identifier
  - `readable_collection_id` string, required: Collection this connection belongs to
  - `status` 'active' | 'pending_auth' | 'syncing' | 'error' | 'inactive' | 'pending_sync', required: Source connection status enum - represents overall connection state.
  - `created_at` string, date-time, required: When the connection was created (ISO 8601)
  - `modified_at` string, date-time, required: When the connection was last modified (ISO 8601)
  - `auth` AuthenticationDetails, required: Authentication information.
    - `method` 'direct' | 'oauth_browser' | 'oauth_token' | 'oauth_byoc' | 'auth_provider', required: Authentication methods for source connections.
    - `authenticated` boolean, required
    - `authenticated_at` string, date-time, nullable
    - `expires_at` string, date-time, nullable
    - `auth_url` string, nullable: For pending OAuth flows
    - `auth_url_expires` string, date-time, nullable
    - `redirect_url` string, nullable
    - `claim_token` string, nullable: One-time token to verify OAuth flow ownership. Only returned when creating an OAuth browser connection.
    - `provider_readable_id` string, nullable
    - `provider_id` string, nullable
  - `config` object, nullable: Source-specific configuration values
  - `schedule` ScheduleDetails: Schedule information.
    - `cron` string, nullable
    - `next_run` string, date-time, nullable
    - `continuous` boolean
    - `cursor_field` string, nullable
    - `cursor_value` unknown
  - `sync` SyncDetails: Sync execution details.
    - `total_runs` integer
    - `successful_runs` integer
    - `failed_runs` integer
    - `last_job` SyncJobDetails: Sync job details.
      - `id` string, uuid, required
      - `status` 'created' | 'pending' | 'running' | 'completed' | 'failed' | 'cancelling' | 'cancelled', required: Sync job status enum.
      - `started_at` string, date-time, nullable
      - `completed_at` string, date-time, nullable
      - `duration_seconds` number, nullable
      - `entities_inserted` integer
      - `entities_updated` integer
      - `entities_deleted` integer
      - `entities_failed` integer
      - `error` string, nullable
  - `sync_id` string, uuid, nullable: ID of the associated sync (internal use)
  - `entities` EntitySummary: Entity state summary.
    - `total_entities` integer
    - `by_type` object
  - `federated_search` boolean: Whether this source uses federated (real-time) search instead of syncing

## Other responses

- `404`: Source Connection Not Found
- `422`: Validation Error
- `429`: Rate Limit Exceeded

## Changes

> 63 revisions in range; 2 not diffed.

- **2026-03-22** `a8105b372b4d`: 1 info
  - added the optional property `auth/claim_token` to the response with the `200` status
- **2026-02-14** `dcef44679b67`: 1 info
  - added the required property `organization_id` to the response with the `200` status
- **2026-02-04** `9c8b36d8fcaa`: 1 breaking, 2 info
  - the response property `description` became optional for the status `200`
  - added the non-success response with the status `404`
  - added the non-success response with the status `429`
- **2025-10-09** `c25c4670614e`: 2 info
  - added the optional property `federated_search` to the response with the `200` status
  - added the optional property `sync_id` to the response with the `200` status
- **2025-10-03** `d2bbfbd6e62f`: 1 warning
  - removed the optional property `sync/anyOf[subschema #1: SyncDetails]/last_job/anyOf[subschema #1: SyncJobDetails]/entities_processed` from the response with the `200` status

[Operation history](https://skmtc.dev/airweave-ai/apis/airweave/changes/source-connections/:source_connection_id/get.md)

---

[API](https://skmtc.dev/airweave-ai/apis/airweave.md) - [All operations](https://skmtc.dev/airweave-ai/apis/airweave/llms.txt) - [OpenAPI document](https://skmtc.dev/airweave-ai/apis/airweave/revisions/bf410c28c0c6?raw)
