akhrot

Use Akhrot APIs to manage OAuth tokens and API keys for external services (Gmail, GitHub, Slack, OpenAI, Stripe, etc.). Check connections, fetch tokens, create OAuth sessions, then call provider APIs directly.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "akhrot" with this command: npx skills add upsurgeio/akhrot/upsurgeio-akhrot-akhrot

Akhrot - OAuth & API Key Integration Skill

You have access to Akhrot, an OAuth-as-a-Service platform that manages OAuth tokens and API keys for external services. Your API key identifies the user account — all connections are tied to this key.

Architecture

Akhrot manages credentials only. You:

  1. Fetch credentials from Akhrot (tokens or API keys)
  2. Call provider APIs directly (Gmail API, GitHub API, Slack, etc.)

Base URL: https://akhrot.ai (or user's Akhrot instance). All requests use header: Authorization: Bearer {Akhrot_API_KEY}.

Quick Start

Step 1: Check connection status (lightweight)

curl -s -H "Authorization: Bearer {Akhrot_API_KEY}" "https://akhrot.ai/ai/context/summary"

Returns which providers are connected and available services (~500 bytes).

Step 2: Get provider or service details (when needed)

# One provider
curl -s -H "Authorization: Bearer {Akhrot_API_KEY}" "https://akhrot.ai/ai/context/google"

# One service
curl -s -H "Authorization: Bearer {Akhrot_API_KEY}" "https://akhrot.ai/ai/context/google/gmail"

Step 3: Fetch token for connected provider

curl -s -X POST "https://akhrot.ai/tokens/fetch" \
  -H "Authorization: Bearer {Akhrot_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"provider": "google"}'

Returns accessToken (and for Telegram MTProto: apiId, apiHash, type: "mtproto"). Tokens auto-refresh when expired.

Step 4: Create OAuth session (for new connections)

If the user has not connected a provider yet:

curl -s -X POST "https://akhrot.ai/oauth/sessions" \
  -H "Authorization: Bearer {Akhrot_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"provider": "google"}'

Response includes url. Send the user to that URL to authorize; after they finish, the provider is connected.

Step 5: Call provider API directly

Use the token with the provider's native API:

# Gmail
curl -s -H "Authorization: Bearer {accessToken}" \
  "https://gmail.googleapis.com/gmail/v1/users/me/messages?maxResults=10"

# GitHub
curl -s -H "Authorization: Bearer {accessToken}" \
  -H "Accept: application/vnd.github+json" \
  "https://api.github.com/user/repos"

Available Providers

Use the provider code in /tokens/fetch and /oauth/sessions.

ProviderCodeToken TypeUse Cases
GooglegoogleOAuth BearerGmail, Drive, Calendar, Sheets
MongoDBmongodbAPI KeyDatabase
SupabasesupabaseAPI KeyDatabase
RailwayrailwayAPI KeyDatabase / services
ElevenLabselevenlabsAPI KeyVoice, TTS
TypefullytypefullyAPI KeyContent, Drafts
OpenAIopenaiAPI KeyGPT, DALL-E, Embeddings
TwiliotwilioAPI KeySMS, Voice, Video
StripestripeAPI KeyPayments, Billing
SendGridsendgridAPI KeyEmail
AnthropicanthropicAPI KeyClaude
ReplicatereplicateAPI KeyML Models
CloudflarecloudflareAPI KeyDNS, CDN
CoherecohereAPI KeyNLP
PostmarkpostmarkAPI KeyEmail
MailgunmailgunAPI KeyEmail
PagerDutypagerdutyAPI KeyIncidents
VercelvercelAPI KeyDeployments

Key points

  • API key = user identity. No userId; the Akhrot API key identifies the user.
  • Token auto-refresh. Expired OAuth tokens are refreshed automatically on /tokens/fetch.
  • Direct API calls. You call provider APIs directly; Akhrot only stores and returns credentials.
  • User must authorize. For OAuth, users must complete the flow at the URL from /oauth/sessions; you cannot authorize for them.
  • Telegram is special. Uses MTProto. Response includes accessToken (session string), apiId, apiHash. Use with gramjs (JS) or telethon (Python).

Error codes

CodeHTTPMeaning
UNAUTHORIZED401Invalid or missing API key
INTEGRATION_NOT_FOUND404User has not connected this provider
TOKEN_EXPIRED400Token expired, no refresh token
SESSION_EXPIRED400OAuth session expired (e.g. 10 min)
RATE_LIMITED429Too many requests

Live skill document

For the latest version from the Akhrot server:

GET https://akhrot.ai/ai/skill

(No auth required; returns markdown.)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

HTML to Markdown

Convert HTML↔Markdown for web clipping, clean notes, and batch content migration. Use when users ask 网页转Markdown/Markdown转HTML/批量转换. Supports local files, UR...

Registry SourceRecently Updated
Coding

Podfetcher Tools

Search podcasts, browse episodes, and fetch podcast transcripts from Podfetcher using the bundled Node.js CLI, SDK, or MCP server.

Registry SourceRecently Updated
Coding

test

Extract and categorize expenses from receipts or statements, map to GL codes, check compliance with policies, and flag anomalies for review.

Registry SourceRecently Updated
Coding

CEO Master

Transforms the agent into a strategic CEO and orchestrator. Vision, decision-making, resource allocation, team dispatch, scaling playbook from €0 to €1B. Use...

Registry SourceRecently Updated