---
title: "Get Source"
method: GET
path: "/sources/{short_name}"
tags: ["sources"]
---

# Get Source

`GET /sources/{short_name}`

## Request

- Base URL: `https://api.airweave.ai`
- URL: `https://api.airweave.ai/sources/{short_name}`
- Auth: API key in header `x-api-key`

Retrieve detailed information about a specific data source connector.

Returns the complete configuration for a source type, including:

- **Authentication fields**: Schema for credentials required to connect
- **Configuration fields**: Schema for optional settings and customization
- **Supported auth providers**: Pre-configured OAuth providers available for this source

Use this endpoint before creating a source connection to understand what
authentication and configuration values are required.

## Path parameters

- `short_name` string, required: Technical identifier of the source type (e.g., 'github', 'stripe', 'slack')

## Response `200`

Successful Response

- Source: Complete source representation with authentication and configuration schemas. Served from the in-memory SourceRegistry — no database row needed.
  - `name` string, required: Human-readable name of the data source connector (e.g., 'GitHub', 'Stripe', 'PostgreSQL').
  - `description` string, nullable: Detailed description explaining what data this source can extract and its typical use cases.
  - `auth_methods` string[], nullable: List of supported authentication methods (e.g., 'direct', 'oauth_browser').
  - `oauth_type` string, nullable: OAuth token type for OAuth sources (e.g., 'access_only', 'with_refresh').
  - `requires_byoc` boolean: Whether this OAuth source requires users to bring their own client.
  - `auth_config_class` string, nullable: Python class name that defines the authentication configuration fields required for this source (only for DIRECT auth).
  - `config_class` string, nullable: Python class name that defines the source-specific configuration options and parameters.
  - `short_name` string, required: Technical identifier used internally to reference this source type. Must be unique across all sources.
  - `class_name` string, required: Python class name of the source implementation that handles data extraction logic.
  - `output_entity_definitions` string[]: List of entity definition short names that this source can produce (e.g., ['asana_task_entity', 'asana_project_entity']).
  - `labels` string[], nullable: Categorization tags to help users discover and filter sources by domain or use case.
  - `supports_continuous` boolean: Whether this source supports cursor-based continuous syncing for incremental data extraction.
  - `federated_search` boolean: Whether this source uses federated search instead of traditional syncing.
  - `supports_temporal_relevance` boolean: Whether this source's entities have timestamps that enable recency-based ranking.
  - `supports_access_control` boolean: Whether this source supports document-level access control.
  - `rate_limit_level` string, nullable: Rate limiting level for this source: 'org' (organization-wide), 'connection' (per-connection/per-user), or None (no rate limiting).
  - `feature_flag` string, nullable: Feature flag required to access this source. If set, only organizations with this feature enabled can see/use this source.
  - `supports_browse_tree` boolean: Whether this source supports lazy-loaded browse tree for selective node syncing.
  - `auth_fields` Fields: Fields model.
    - `fields` ConfigField[], required
      - `name` string, required
      - `title` string, required
      - `description` string, nullable
      - `type` string, required
      - `required` boolean
      - `items_type` string, nullable
      - `feature_flag` string, nullable
      - `is_secret` boolean
  - `config_fields` Fields, required: Fields model.
    - `fields` ConfigField[], required
      - `name` string, required
      - `title` string, required
      - `description` string, nullable
      - `type` string, required
      - `required` boolean
      - `items_type` string, nullable
      - `feature_flag` string, nullable
      - `is_secret` boolean
  - `supported_auth_providers` string[], nullable: List of auth provider short names that support this source.

## Other responses

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

## Changes

> 63 revisions in range; 2 not diffed.

- **2026-03-12** `a944d305e967`: 1 info
  - added the optional property `supports_browse_tree` to the response with the `200` status
- **2026-02-14** `dcef44679b67`: 3 breaking, 1 warning, 1 info
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `id` from the response with the `200` status
  - removed the required property `modified_at` from the response with the `200` status
  - removed the optional property `output_entity_definition_ids` from the response with the `200` status
  - …1 more
- **2026-02-04** `9c8b36d8fcaa`: 2 info
  - added the non-success response with the status `404`
  - added the non-success response with the status `429`
- **2026-02-04** `91728181efa6`: 9 info
  - added the optional property `auth_fields/anyOf[subschema #1: Fields]/fields/items/feature_flag` to the response with the `200` status
  - added the optional property `auth_fields/anyOf[subschema #1: Fields]/fields/items/is_secret` to the response with the `200` status
  - added the optional property `auth_fields/anyOf[subschema #1: Fields]/fields/items/items_type` to the response with the `200` status
  - added the optional property `config_fields/fields/items/feature_flag` to the response with the `200` status
  - …5 more
- **2025-10-28** `d82c69fa6fd2`: 1 info
  - added the optional property `supports_temporal_relevance` to the response with the `200` status

[Operation history](https://skmtc.dev/airweave-ai/apis/airweave/changes/sources/:short_name/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)
