Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions docs/register-provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ Perform a **web search** to determine what authentication methods the target ser

---

## Step 2: Write the provider JSON
## Step 2: Write the provider JSON (or JSONC)

Create a `.json` file using one of the templates below.
Create a `.json` or `.jsonc` file using one of the templates below. JSONC files support `//` line comments and `/* */` block comments, which is useful for documenting non-obvious field choices.

### Template A — OAuth2 Provider

Expand All @@ -31,6 +31,7 @@ Create a `.json` file using one of the templates below.
"display_name": "<Service Display Name>",
"description": "Short description shown in the dashboard.",
"logo": "https://example.com/logo.svg",
"type": "app",
"auth_type": "oauth2",
"flow": "dcr_pkce",
"api_url": "https://example.com",
Expand Down Expand Up @@ -70,6 +71,7 @@ Create a `.json` file using one of the templates below.
"display_name": "<Service Display Name>",
"description": "Short description shown in the dashboard.",
"logo": "https://example.com/logo.svg",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.example.com",
Expand Down Expand Up @@ -98,6 +100,7 @@ Create a `.json` file using one of the templates below.
| `display_name` | Human-readable name (e.g., `"GitHub"`). |
| `description` | Optional short dashboard description. |
| `logo` | Optional logo URL shown in the dashboard. If omitted or unreachable, the dashboard falls back to provider initials. |
| `type` | **Recommended.** Provider category: `"app"`, `"llm"`, or `"mcp"`. Used to filter and display providers by category. |
| `auth_type` | `"oauth2"` or `"api_key"`. |
| `flow` | Default flow. See flow selection guide below. |
| `api_url` | **Recommended.** The API host for proxy routing (e.g., `"api.openai.com"`). Can be a bare host, a full URL, or a host regex prefixed with `regex:` (e.g., `"regex:^api[0-9]+\\.github\\.com$"`). |
Expand Down
3 changes: 2 additions & 1 deletion src/authsome/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from loguru import logger as _logger

from authsome.auth.models.connection import ConnectionRecord, Sensitive
from authsome.auth.models.enums import AuthType, ConnectionStatus, ExportFormat, FlowType
from authsome.auth.models.enums import AuthType, ConnectionStatus, ExportFormat, FlowType, ProviderType
from authsome.auth.models.provider import ProviderDefinition
from authsome.errors import (
AuthenticationFailedError,
Expand Down Expand Up @@ -56,6 +56,7 @@
"ExportFormat",
"FlowType",
"ProviderDefinition",
"ProviderType",
"Sensitive",
# Errors
"AuthsomeError",
Expand Down
2 changes: 0 additions & 2 deletions src/authsome/auth/bundled_providers/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
"""Bundled provider definitions package for authsome."""

# TODO: Bundled provider definitions can be jsonc - so we can add comments
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/ahrefs.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Ahrefs",
"logo": "img.logo.dev/name/ahrefs",
"description": "SEO intelligence, backlink analysis, and keyword research APIs.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.ahrefs.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/apollo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Apollo",
"logo": "img.logo.dev/name/apollo",
"description": "Sales intelligence and prospecting data for go-to-market workflows.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.apollo.io",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/ashby.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Ashby",
"logo": "img.logo.dev/name/ashby",
"description": "Recruiting operations, candidate data, and hiring workflow automation.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.ashbyhq.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/atlassian.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Atlassian",
"logo": "img.logo.dev/name/atlassian",
"description": "Jira and Atlassian workspace APIs for project and issue management.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "api.atlassian.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/beehiiv.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Beehiiv",
"logo": "img.logo.dev/name/beehiiv",
"description": "Newsletter publishing, subscribers, and audience growth automation.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.beehiiv.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/brevo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Brevo",
"logo": "img.logo.dev/name/brevo",
"description": "Email marketing, transactional messaging, and contact management APIs.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.brevo.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/buffer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Buffer",
"logo": "img.logo.dev/name/buffer",
"description": "Social scheduling and publishing workflows for connected channels.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.bufferapp.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/calendly.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Calendly",
"logo": "img.logo.dev/name/calendly",
"description": "Scheduling links, events, invitees, and calendar booking automation.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.calendly.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/clearbit.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Clearbit",
"logo": "img.logo.dev/name/clearbit",
"description": "Company and contact enrichment data for sales and marketing workflows.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.clearbit.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/cloudflare.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Cloudflare",
"logo": "img.logo.dev/name/cloudflare",
"description": "Cloudflare API token access for managing zones, DNS, Workers, and account resources.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "https://api.cloudflare.com/client/v4",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/confluence.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Confluence",
"logo": "img.logo.dev/name/confluence",
"description": "Confluence Cloud access for reading and writing pages, spaces, and content via the Confluence REST API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://api.atlassian.com/ex/confluence",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/discord.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Discord",
"logo": "img.logo.dev/name/discord",
"description": "Discord identity, guild, and messaging integrations over OAuth.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "discord.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/dub.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Dub.co",
"logo": "img.logo.dev/name/dub",
"description": "Short links, conversion tracking, and link analytics from Dub.co.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.dub.co",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/g2.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "G2",
"logo": "img.logo.dev/name/g2",
"description": "Review, buyer intent, and marketplace data from G2.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.g2.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/github.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "GitHub",
"logo": "img.logo.dev/name/github",
"description": "Connect GitHub to manage repositories, pull requests, users, and developer automation with vault-backed credentials.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": [
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/gitlab.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "GitLab",
"logo": "img.logo.dev/name/gitlab",
"description": "GitLab repositories, user data, and project automation over OAuth.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "gitlab.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-admin.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Admin",
"logo": "img.logo.dev/name/google",
"description": "Google Workspace Admin access for managing users, groups, and organizational units via the Admin SDK.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://admin.googleapis.com/admin/directory/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-analytics.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Analytics",
"logo": "img.logo.dev/name/google-analytics",
"description": "Google Analytics access for reading web analytics data via the Analytics Data API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://analyticsdata.googleapis.com/v1beta",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-calendar.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Calendar",
"logo": "img.logo.dev/name/google-calendar",
"description": "Google Calendar access for reading and managing calendar events via the Calendar API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://www.googleapis.com/calendar/v3",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Chat",
"logo": "img.logo.dev/name/google-chat",
"description": "Google Chat access for sending and managing messages and spaces via the Chat API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://chat.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-classroom.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Classroom",
"logo": "img.logo.dev/name/google-classroom",
"description": "Google Classroom access for managing courses, assignments, and student rosters via the Classroom API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://classroom.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Docs",
"logo": "img.logo.dev/name/google-docs",
"description": "Google Docs access for reading and editing documents via the Docs API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://docs.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-drive.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Drive",
"logo": "img.logo.dev/name/google-drive",
"description": "Google Drive access for managing files and folders via the Drive API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://www.googleapis.com/drive/v3",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-forms.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Forms",
"logo": "img.logo.dev/name/google-forms",
"description": "Google Forms access for creating forms and reading responses via the Forms API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://forms.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-gmail.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Gmail",
"logo": "img.logo.dev/name/gmail",
"description": "Gmail access for reading, composing, and managing email via the Gmail API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://gmail.googleapis.com/gmail/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-meet.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Meet",
"logo": "img.logo.dev/name/google-meet",
"description": "Google Meet access for creating and managing video meeting spaces via the Meet REST API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://meet.googleapis.com/v2",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-photos.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Photos",
"logo": "img.logo.dev/name/google-photos",
"description": "Google Photos access for reading and managing photo libraries via the Photos Library API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://photoslibrary.googleapis.com/v1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Search Console",
"logo": "img.logo.dev/name/google-search-console",
"description": "Google Search Console access for reading search analytics and sitemaps via the Search Console API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://searchconsole.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-sheets.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Sheets",
"logo": "img.logo.dev/name/google-sheets",
"description": "Google Sheets access for reading and editing spreadsheets via the Sheets API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://sheets.googleapis.com/v4",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-slides.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Slides",
"logo": "img.logo.dev/name/google-slides",
"description": "Google Slides access for reading and editing presentations via the Slides API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://slides.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google Tasks",
"logo": "img.logo.dev/name/google-tasks",
"description": "Google Tasks access for reading and managing task lists and tasks via the Tasks API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://tasks.googleapis.com/tasks/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-vertex-ai.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Vertex AI",
"logo": "img.logo.dev/name/google-cloud",
"description": "Google Vertex AI access for generative models, embeddings, and ML pipelines via the Vertex AI API.",
"type": "llm",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://us-central1-aiplatform.googleapis.com/v1",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google-youtube.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "YouTube",
"logo": "img.logo.dev/name/youtube",
"description": "YouTube Data API access for managing channels, videos, playlists, and comments.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://www.googleapis.com/youtube/v3",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/google.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Google",
"logo": "img.logo.dev/name/google",
"description": "Google identity and Google API access with OAuth-backed credentials.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "regex:.*googleapis.*",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/hubspot.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "HubSpot",
"logo": "img.logo.dev/name/hubspot",
"description": "CRM contacts, companies, deals, owners, and HubSpot workflow data.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "api.hubapi.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/hunter.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Hunter",
"logo": "img.logo.dev/name/hunter",
"description": "Email discovery and verification data for outreach workflows.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.hunter.io",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/instantly.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Instantly",
"logo": "img.logo.dev/name/instantly",
"description": "Outbound email campaign and lead management automation.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.instantly.ai",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/intercom.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Intercom",
"logo": "img.logo.dev/name/intercom",
"description": "Customer conversations, contacts, and support automation APIs.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.intercom.io",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/jira.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Jira",
"logo": "img.logo.dev/name/jira",
"description": "Jira Cloud access for reading and managing issues, projects, and workflows via the Jira REST API.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "https://api.atlassian.com/ex/jira",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Keywords Everywhere",
"logo": "img.logo.dev/name/keywords-everywhere",
"description": "Keyword volume, CPC, and SEO metrics for search workflows.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "api.keywordseverywhere.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/klaviyo-oauth.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Klaviyo (OAuth)",
"logo": "img.logo.dev/name/klaviyo",
"description": "OAuth access for Klaviyo app integrations and account APIs.",
"type": "app",
"auth_type": "oauth2",
"flow": "pkce",
"api_url": "a.klaviyo.com",
Expand Down
1 change: 1 addition & 0 deletions src/authsome/auth/bundled_providers/klaviyo.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"display_name": "Klaviyo",
"logo": "img.logo.dev/name/klaviyo",
"description": "Klaviyo profiles, campaigns, and marketing automation API access.",
"type": "app",
"auth_type": "api_key",
"flow": "api_key",
"api_url": "a.klaviyo.com",
Expand Down
Loading
Loading