Overview
Retrieve 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
Technical identifier of the source type (e.g., ‘github’, ‘stripe’, ‘slack’)
Response
Human-readable name of the data source
Detailed description of what data this source can extract
List of supported authentication methods
OAuth token type for OAuth sources
Schema definition for authentication fields (only for direct auth)
Schema definition for configuration fields
List of auth provider short names that support this source
Whether this source supports cursor-based continuous syncing
Whether this source uses federated search
Whether this source supports document-level access control
Example Request
curl https://api.airweave.ai/v1/sources/github \
-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,
"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"
}
]
}
}
Error Responses
Source with the specified short_name does not exist