Skip to main content
GET
/
v1
/
sources
List Sources
curl --request GET \
  --url https://api.example.com/v1/sources
{
  "name": "<string>",
  "short_name": "<string>",
  "description": "<string>",
  "auth_methods": [
    {}
  ],
  "oauth_type": "<string>",
  "requires_byoc": true,
  "auth_fields": {
    "fields": [
      {}
    ]
  },
  "config_fields": {
    "fields": [
      {}
    ]
  },
  "supported_auth_providers": [
    {}
  ],
  "labels": [
    {}
  ],
  "supports_continuous": true,
  "federated_search": true,
  "supports_access_control": true
}

Overview

Retrieve the complete catalog of source types that Airweave can connect to, including their authentication methods, configuration requirements, and supported features. Use this endpoint to discover which integrations are available for your organization.

Response

Returns an array of source objects.
name
string
required
Human-readable name of the data source (e.g., “GitHub”, “Stripe”)
short_name
string
required
Technical identifier used to reference this source type
description
string
Detailed description of what data this source can extract
auth_methods
array
List of supported authentication methods (e.g., direct, oauth_browser)
oauth_type
string
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_fields
object
Schema definition for authentication fields (only for direct auth)
config_fields
object
required
Schema definition for configuration fields
supported_auth_providers
array
List of auth provider short names that support this source (e.g., composio, pipedream)
labels
array
Categorization tags (e.g., code, communication)
supports_continuous
boolean
required
Whether this source supports cursor-based continuous syncing
Whether this source uses federated search instead of syncing
supports_access_control
boolean
required
Whether this source supports document-level access control

Example Request

curl https://api.airweave.ai/v1/sources \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

[
  {
    "name": "GitHub",
    "description": "Connect to GitHub repositories for code, issues, pull requests, and documentation",
    "auth_methods": ["direct"],
    "oauth_type": null,
    "requires_byoc": false,
    "auth_config_class": "GitHubAuthConfig",
    "config_class": "GitHubConfig",
    "short_name": "github",
    "class_name": "GitHubSource",
    "output_entity_definitions": [
      "git_hub_repository_entity",
      "git_hub_code_file_entity"
    ],
    "labels": ["code"],
    "supports_continuous": false,
    "federated_search": false,
    "supports_access_control": false,
    "supported_auth_providers": [],
    "auth_fields": {
      "fields": [
        {
          "name": "personal_access_token",
          "title": "Personal Access Token",
          "description": "Personal Access Token with repository read permissions. Generate one at https://github.com/settings/tokens",
          "type": "string",
          "secret": true
        }
      ]
    },
    "config_fields": {
      "fields": [
        {
          "name": "repo_name",
          "title": "Repository Name",
          "description": "Full repository name in format 'owner/repo' (e.g., 'airweave-ai/airweave')",
          "type": "string"
        },
        {
          "name": "branch",
          "title": "Branch name",
          "description": "Specific branch to sync (e.g., 'main', 'development'). If empty, uses the default branch.",
          "type": "string"
        }
      ]
    }
  },
  {
    "name": "Gmail",
    "description": "Connect to Gmail for email threads, messages, and attachments",
    "auth_methods": ["oauth_browser", "oauth_token", "oauth_byoc"],
    "oauth_type": "with_refresh",
    "requires_byoc": false,
    "config_class": "GmailConfig",
    "short_name": "gmail",
    "class_name": "GmailSource",
    "output_entity_definitions": [
      "gmail_thread_entity",
      "gmail_message_entity"
    ],
    "labels": ["Communication", "Email"],
    "supports_continuous": true,
    "federated_search": false,
    "supports_access_control": false,
    "supported_auth_providers": ["pipedream", "composio"],
    "auth_fields": null,
    "config_fields": {
      "fields": [
        {
          "name": "sync_attachments",
          "title": "Sync Attachments",
          "description": "Whether to sync email attachments",
          "type": "boolean",
          "default": true
        }
      ]
    }
  }
]