Documentation / API Keys & Integrations

API Keys & Integrations

Luminal CMS connects to several external services for AI content generation, payments, email, analytics, and more. This page lists every API key the system can use, which module needs it, where to configure it in the admin, and where to obtain one.

No keys are required to run the CMS. All integrations are optional. The core CMS (pages, galleries, menus, settings) works with zero external API keys. Add keys only for the features you want to use.

AI Content Generation

The AI Resources module manages all AI providers from a single admin screen. You can add multiple providers and switch between them. Navigate to AI Tools → AI Resources in the admin menu.

Anthropic (Claude)

Module: AIResources • Provider type: claude

Powers AI Assist in the Page Manager, Agent Scheduler pipelines, and content generation. Models: Claude Opus 4.6, Sonnet 4.5, Haiku 4.5.

Configure in: AI Tools → AI Resources → Add Provider → Claude
Get API Key — console.anthropic.com

OpenAI (GPT)

Module: AIResources • Provider type: openai

Alternative AI provider. Models: GPT-4o, GPT-4o-mini, GPT-4 Turbo, o1, o3-mini.

Configure in: AI Tools → AI Resources → Add Provider → OpenAI
Get API Key — platform.openai.com

Google AI (Gemini)

Module: AIResources • Provider type: google

Google's Gemini models. Models: Gemini 2.5 Flash (recommended), Gemini 2.5 Pro, Gemini 2.0 Flash, Gemini 2.0 Flash Lite. Free tier available with generous daily quotas. See the AI Features guide for detailed Google Cloud setup instructions.

Configure in: AI Tools → AI Resources → Add Provider → Google

Custom Provider (OpenAI-Compatible)

Module: AIResources • Provider type: custom

Connect any OpenAI-compatible API endpoint. Works with Groq, Together AI, Mistral, Ollama, LM Studio, and vLLM.

Configure in: AI Tools → AI Resources → Add Provider → Custom

Google NotebookLM (Service Account)

Module: AIResources • NotebookLM section

AI-generated podcast audio from page content. Requires a Google Cloud service account with the NotebookLM API enabled. Uses JWT (RS256) authentication — not a simple API key but a JSON key file.

Configure in: AI Tools → AI Resources → NotebookLM section
Google Cloud Console — Service Accounts

Payment Processing

The Payment Providers module manages gateway credentials. Navigate to Ecommerce → Payment Methods in the admin menu.

PayPal

Module: PaymentProviders • Gateway: paypal

Accept PayPal payments in MyStore checkout. Requires Client ID and Client Secret from the PayPal Developer Dashboard. Supports both Sandbox and Live modes.

Configure in: Ecommerce → Payment Methods → PayPal card
PayPal Developer Dashboard

Stripe

Module: PaymentProviders • Gateway: stripe

Credit/debit card processing via Stripe. Requires Publishable Key (public) and Secret Key (private). Supports test mode keys for development.

Configure in: Ecommerce → Payment Methods → Stripe card
Stripe Dashboard — API Keys

Square

Module: PaymentProviders • Gateway: square

Square payment processing. Requires Application ID and Access Token from the Square Developer Dashboard.

Configure in: Ecommerce → Payment Methods → Square card
Square Developer Dashboard

Ecommerce & Products

Printful

Module: PrintfulManager

Print-on-demand merchandise integration. Syncs products from your Printful store for sale alongside MyStore products. Requires a Printful API token.

Configure in: Ecommerce → Printful → Settings
Printful API Dashboard

Amazon Product Advertising API

Module: AffiliateProducts

Fetch Amazon product data for affiliate product cards. Requires Access Key, Secret Key, and Partner Tag from the Amazon Associates program. OPTIONAL — you can manually add affiliate products without this API.

Configure in: Ecommerce → Affiliate Products → Settings tab
Amazon Associates

Email

Mailgun

Module: MailgunManager

Transactional email delivery. Used for contact form notifications, GHL lead alerts, and system emails. Requires an API key and a verified sending domain.

Configure in: System → Mailgun
Mailgun API Security

Social & Media

Facebook Graph API

Module: FacebookEvents

Import events from a Facebook Page. Requires App ID, App Secret, and a long-lived Page Access Token. The token must have pages_read_engagement and pages_read_user_content permissions.

Configure in: Events → Facebook Events → Settings
Facebook Developer Apps

YouTube Data API v3

Module: YouTubePlaylist

Fetch playlist metadata and video details for the YouTube Playlist Studio. Requires a Google API key with the YouTube Data API v3 enabled.

Configure in: Content → YT Playlist Studio → Settings
Google Cloud Console — Credentials

CRM & Lead Capture

Go High Level (GHL)

Module: GHLConnector • Server-only

Push form submissions to Go High Level CRM. Requires a GHL API key (v1 Bearer auth) and a Location ID. Per-site overrides allow different GHL locations for each domain on the same server.

Configure in: Server Tools → GHL Leads → Config
GHL Marketplace

Quick Reference Table

ServiceModuleKeys NeededFree Tier?
Anthropic ClaudeAIResourcesAPI KeyPay-per-use
OpenAIAIResourcesAPI KeyPay-per-use
Google GeminiAIResourcesAPI Key (AI Studio or Cloud Console)Free tier (15 RPM, 1M tokens/day)
GroqAIResources (Custom)API Key + Base URLFree tier available
Together AIAIResources (Custom)API Key + Base URLFree tier available
NotebookLMAIResourcesService Account JSONFree tier available
PayPalPaymentProvidersClient ID + SecretFree (transaction fees)
StripePaymentProvidersPublishable + Secret KeyFree (transaction fees)
SquarePaymentProvidersApp ID + Access TokenFree (transaction fees)
PrintfulPrintfulManagerAPI TokenFree (per-order cost)
Amazon PA-APIAffiliateProductsAccess Key + Secret + TagFree (affiliate program)
MailgunMailgunManagerAPI Key + DomainFree tier (limited)
FacebookFacebookEventsApp ID + Secret + TokenFree
YouTube Data APIYouTubePlaylistAPI KeyFree (daily quota)
Go High LevelGHLConnectorAPI Key + Location IDPaid subscription

Where Keys Are Stored

Security note: All API keys are stored as plain text in JSON files under admin/data/. This directory is excluded from deployment rsync and is never exposed to the frontend. However, anyone with admin panel access or server file access can read them. Never commit admin/data/ to a public git repository.

  • AI providers: admin/data/AIResources/config.json
  • Payment gateways: admin/data/PaymentProviders/config.json
  • Printful: admin/data/printful/config.json
  • Affiliate Products: admin/data/AffiliateProducts/config.json
  • Mailgun: admin/data/MailgunManager/config.json
  • Facebook: admin/data/FacebookEvents/config.json
  • YouTube: admin/data/youtube_playlists/config.json
  • GHL: admin/data/GHLConnector/config.json