OAuth Flow
Get Authorization URL
GET/api/v1/github/auth-url
Returns GitHub OAuth authorization URL and signed state token.
GitHub OAuth URL
Signed state token (expires in 10 minutes)
OAuth Callback
POST/api/v1/github/callback
Handles OAuth callback and creates/updates connection.
OAuth authorization code
Signed state token
Connection status
GitHub connection ID
GitHub username
Connections
List Connections
GET/api/v1/github/connections
Returns your active GitHub connections.
Array of connection objects
Sync Repositories
POST/api/v1/github/sync/{connection_id}
Synchronizes repositories for a connection.
Sync status
Number of repositories synced
Repositories
List Repositories
GET/api/v1/github/repositories/{connection_id}
Returns repositories for a connection.
Array of repository objects
Analyze Repository
POST/api/v1/github/analyze/{connection_id}/{repo_id}
Analyzes a repository to detect site type and build configuration.
Repository ID
Repository full name (owner/repo)
Detected site type (nextjs, docusaurus, mintlify, etc.)
Detected build command
Detected output directory
Pull Requests
Create Pull Request
POST/api/v1/github/create-pr
Creates a pull request with SEO/GEO fixes.
GitHub connection ID
Repository ID
Audit ID
Array of fix objects
Pull request ID
GitHub PR number
PR title
GitHub PR URL
PR status
List Pull Requests
GET/api/v1/github/prs/{repo_id}
Returns pull requests for a repository.
Array of PR objects
Blog Auditing
Audit Repository Blogs
POST/api/v1/github/audit-blogs/{connection_id}/{repo_id}
Audits all blog posts in a repository.
Total blogs found
Blogs successfully audited
Audit results for each blog
Create Blog Fixes PR
POST/api/v1/github/create-blog-fixes-pr/{connection_id}/{repo_id}
Creates a PR with fixes for specific blog posts.
Array of blog file paths to fix
Operation status
Created PR object
Number of fixes applied
Number of blogs fixed
GEO Blog Auditing
Audit Blogs with GEO
POST/api/v1/github/audit-blogs-geo/{connection_id}/{repo_id}
Audits blogs for both SEO and GEO optimization.
Total blogs analyzed
GEO scores for each blog
Create GEO Fixes PR
POST/api/v1/github/create-geo-fixes-pr/{connection_id}/{repo_id}
Creates a PR with SEO and GEO fixes.
Blog paths to fix
Include GEO optimizations
Number of SEO fixes
Number of GEO fixes
Auto-Fix PR
Create Auto-Fix PR from Audit
POST/api/v1/github/create-auto-fix-pr/{connection_id}/{repo_id}
Creates an automated PR based on an existing audit.
Audit ID to use for fixes
Whether PR was created
GitHub PR URL
PR number
Fix Inputs
Get Fix Inputs
GET/api/v1/github/fix-inputs/{audit_id}
Returns missing inputs required to safely apply fixes.
Audit ID
Array of missing input groups
Count of required missing inputs
Submit Fix Inputs
POST/api/v1/github/fix-inputs/{audit_id}
Submits user-provided fix inputs.
Array of input answers
Fix Inputs Chat
POST/api/v1/github/fix-inputs/chat/{audit_id}
Get LLM-guided suggestions for missing fix inputs.
Issue code
Field key
Field label
AI assistant message
Suggested value based on audit evidence
Confidence level (evidence, unknown)
Webhooks
GitHub Webhook Handler
POST/api/v1/github/webhook
Receives GitHub webhook events (push, pull_request, installation).
This endpoint requires GitHub webhook signature verification.
Error Codes
Invalid OAuth callback or missing parameters
Invalid OAuth state or webhook signature
Cross-user access denied
Missing required fix inputs