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

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

short_name
string
required
Technical identifier of the source type (e.g., ‘github’, ‘stripe’, ‘slack’)

Response

name
string
required
Human-readable name of the data source
short_name
string
required
Technical identifier
description
string
Detailed description of what data this source can extract
auth_methods
array
List of supported authentication methods
oauth_type
string
OAuth token type for OAuth sources
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
labels
array
Categorization tags
supports_continuous
boolean
required
Whether this source supports cursor-based continuous syncing
Whether this source uses federated search
supports_access_control
boolean
required
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

404 Not Found
Source with the specified short_name does not exist