API Overview
Influgen exposes two API surfaces:
- Authenticated product API for the full app workflow
- Agency public API for external automation
Use the product API when you need full workspace behavior such as editing characters, moderating content, managing billing, or configuring enterprise features. Use the public API when you want a narrower, stable automation surface for character creation, content generation, publishing, and credit checks.
Base path
Most routes live under:
/api/v1
Examples in this guide assume an API origin like:
https://api.influgen.ai
Authentication modes
Session auth
Session auth uses bearer access tokens returned from login or registration.
Key endpoints:
POST /api/v1/auth/registerPOST /api/v1/auth/loginPOST /api/v1/auth/refreshGET /api/v1/auth/mePOST /api/v1/auth/logout
Registration requires:
emailpasswordwith minimum length8accept_terms: trueaccept_privacy: true
Successful auth responses return:
useraccess_tokenrefresh_tokentoken_typeexpires_in
Example login:
curl https://api.influgen.ai/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "operator@example.com",
"password": "correct-horse-battery-staple"
}'
Example response:
{
"user": {
"id": "user_01HZX6A9T4B3C2D1E0F9G8H7J6",
"email": "operator@example.com",
"display_name": "Maya",
"status": "active",
"role": "user",
"locale": "en",
"onboarding_step": "welcome"
},
"access_token": "eyJhbGciOi...",
"refresh_token": "eyJhbGciOi...",
"token_type": "Bearer",
"expires_in": 3600
}
Public API keys
Public API keys are available only on the Agency plan. They are created from:
GET /api/v1/api-keysPOST /api/v1/api-keysDELETE /api/v1/api-keys/{id}
Permissions are scoped per key:
characters:readcharacters:writecontent:generatecontent:readcontent:publishcredits:read
Rate limits are plan-aware. Default config values are:
- Starter:
60requests/minute - Pro:
180requests/minute - Agency:
300requests/minute
In practice, only Agency workspaces can use the public API key flow today.
Route families
The full product API includes:
- auth and session management
- characters and influencers
- content generation and moderation
- publishing integrations and scheduling
- analytics and engagement
- billing and monetization
- marketplace
- enterprise and white-label
- adapters and self-hosted routing
The public API includes:
POST /api/v1/public/charactersGET /api/v1/public/charactersPOST /api/v1/public/generateGET /api/v1/public/content/{id}POST /api/v1/public/publishGET /api/v1/public/credits
Real-time updates with WebSocket
Influgen also exposes:
GET /api/v1/ws
The socket authenticates after connect. Send a first message shaped like:
{
"type": "auth",
"token": "YOUR_ACCESS_TOKEN"
}
After that, the socket streams progress events for the authenticated user on the generation progress channel.
Error model
Most errors are returned as structured JSON with an application error code and a readable message. Treat the HTTP status code as the first signal and the error code as the second.
Common patterns:
401: missing or invalid auth403: plan or permission restriction404: missing resource409: conflict such as duplicate or invalid state transition402or429: credits or rate limits depending on the workflow