Everything you need to integrate Zesuss with your CMS platforms, build custom workflows, and automate your content pipeline.
Welcome to the Zesuss developer documentation. This guide covers everything you need to integrate, configure, and deploy AI-powered content automation across your CMS platforms.
Zesuss provides a unified API and dashboard for generating, optimizing, and publishing AI-powered content across WordPress, Shopify, Webflow, Wix, Ghost, Blogger, and custom-built websites.
Get your API key and start making requests
Connect WordPress, Shopify, Webflow, and more
Full API documentation with request/response schemas
Schedule and automate your content calendar
AI-powered blog and article creation with keyword optimization, title analysis, and tone control.
Publish to any combination of CMS platforms simultaneously with a single API call.
Review and approve content via Email, WhatsApp, and SMS before publishing.
Queue content for automatic publishing at optimal times based on audience engagement patterns.
Track content performance, engagement rates, and ROI across all connected platforms.
All API requests require authentication via a Bearer token in the Authorization header.
Zesuss uses API keys for authentication. Generate a key from your dashboard and include it in every request. Never expose your API key in client-side code or public repositories.
Open the Contell dashboard and go to the API Settings page under your account menu.
Click the Generate Token button. You can optionally label the token for easy identification.
Copy your API key immediately. For security, it will only be displayed once. Store it in your environment variables.
Include the following header in every API request:
const headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ctl_api_xxxxxx_example_token'
};Add your API key to your environment variables:
# .env file
CONTELL_API_KEY=ctl_api_xxxxxx_example_token
CONTELL_API_URL=https://api.contell.com/v1Use environment variables to manage API keys across development, staging, and production environments.
Zesuss integrates natively with WordPress using the built-in REST API. No plugins required — just authenticate and start publishing AI-generated content directly to your WordPress site.
WordPress Application Passwords (introduced in WordPress 5.6) provide a secure way to authenticate third-party services without exposing your main account password.
Go to WordPress Admin → Users → Profile. Scroll down to Application Passwords, enter Contell, and click Add New. Copy the generated password.
In the Contell Dashboard → Integrations → WordPress, enter your Site URL, username, and the Application Password.
const response = await fetch(wpUrl + '/wp-json/wp/v2/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(username + ':' + appPassword)
},
body: JSON.stringify({
title: title,
content: htmlContent,
status: 'publish'
})
});
const post = await response.json();
console.log('Published:', post.link);| Feature | Supported | Notes |
|---|---|---|
| Publish Posts | Yes | Draft, publish, or schedule |
| Categories & Tags | Yes | Auto-mapped from content analysis |
| Featured Images | Yes | AI-generated or uploaded |
| Custom Post Types | Yes | Configurable in dashboard |
| SEO Metadata | Yes | Yoast, Rank Math support |
Publish SEO-optimized blog articles directly to your Shopify store using the Admin API. Zesuss handles all the formatting, metadata, and scheduling.
Go to Shopify Admin → Settings → Apps and sales channels → Develop apps. Click Create an app and name it Contell Content Automation.
Under the Configuration tab, find Admin API integration and select write_content and read_content permissions.
Install the app and copy the Admin API Access Token (starts with shpat_). It will be shown only once.
Enter your Store URL (e.g., your-store.myshopify.com) and the Admin API Access Token in Contell's Shopify integration.
const response = await fetch(storeUrl + '/admin/api/2023-10/blogs/BLOG_ID/articles.json', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Access-Token': token
},
body: JSON.stringify({
article: {
title: title,
author: 'Contell AI',
tags: 'AI, Content, SEO',
body_html: htmlContent,
published: true
}
})
});
const article = await response.json();
console.log('Published:', article.article.url);| Feature | Supported | Notes |
|---|---|---|
| Create Articles | Yes | With full HTML content |
| SEO Metadata | Yes | Title, description, slug |
| Tags | Yes | Auto-tagged from keyword analysis |
| Featured Images | Yes | AI-generated images supported |
| Scheduling | Yes | Use published_at field |
Zesuss pushes AI-generated articles directly into your Webflow CMS collections. Perfect for design-forward brands that want content without compromising on aesthetics.
In your Webflow workspace settings, go to Integrations and create a new API token with CMS scope permissions.
Use Webflow Designer to locate your Blog Posts Collection. The Collection ID is visible in the API section of Collection settings.
Enter your API token, Collection ID, and map your content fields in the Contell Webflow integration settings.
const response = await fetch('https://api.webflow.com/v2/collections/' + collectionId + '/items', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + apiKey,
'Content-Type': 'application/json',
},
body: JSON.stringify({
fieldData: {
name: title,
slug: title.toLowerCase().replace(/ /g, '-'),
'post-body': body,
'post-summary': excerpt,
'featured-image': featuredImageUrl
}
})
});
const item = await response.json();
console.log('Created:', item.data.id);| Contell Field | Webflow Field | Type |
|---|---|---|
| Title | name | Plain Text |
| Content | post-body | Rich Text |
| Excerpt | post-summary | Plain Text |
| Featured Image | featured-image | Image |
| SEO Title | seo-title | Plain Text |
| Slug | slug | Plain Text |
Connect Zesuss to your Wix website using Velo HTTP functions or the Wix Headless API. Automate your blog publishing without manual effort.
In your Wix Editor, turn on Dev Mode. Create a new file http-functions.js in the Backend folder.
Export a POST function that receives JSON from Contell and uses the wix-blog-backend module to create posts.
import { ok, badRequest } from 'wix-http-functions';
import { posts } from 'wix-blog-backend';
export async function post_contellPublish(request) {
try {
const data = await request.body.json();
const newPost = await posts.createPost({
title: data.title,
richContent: data.content,
tags: data.tags
});
return ok({ body: { success: true, post: newPost } });
} catch (error) {
return badRequest({ body: { error: error.message } });
}
}You can also use Wix Headless mode for a fully decoupled CMS experience with Contell.
Zesuss connects to your Ghost publication via the Content and Admin APIs, allowing seamless publishing of AI-generated content with full markdown and HTML support.
Go to Ghost Admin → Settings → Integrations → Add custom integration. Name it Contell.
Ghost generates an Admin API Key. Copy this key securely and enter it in Contell's Ghost integration settings.
const ghostAdminToken = createGhostToken(apiKey);
const response = await fetch(ghostUrl + '/ghost/api/admin/posts/', {
method: 'POST',
headers: {
'Authorization': 'Ghost ' + ghostAdminToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
posts: [{
title: title,
html: content,
status: 'published',
feature_image: imageUrl,
tags: tags
}]
})
});Publish directly to your Blogger blogs using the Blogger API v3. Zesuss handles OAuth 2.0 authentication and content formatting automatically.
Go to Google Cloud Console, enable the Blogger API v3 for your project, and create OAuth 2.0 credentials.
In Contell's Blogger integration, click Sign in with Google and grant permission to access your Blogger account.
const response = await fetch(
'https://www.googleapis.com/blogger/v3/blogs/' + blogId +
'/posts/' + postId + '?key=' + apiKey
);
const post = await response.json();
console.log('Post status:', post.status);Zesuss integrates with Squarespace via its Commerce API and custom webhook endpoints. Publish AI-generated blog posts and manage your content calendar directly from your dashboard.
In Squarespace, go to Settings → Developer → Enable Developer Mode. This unlocks API access for your site.
Create a new API key in the Developer section. Assign the necessary scopes for content creation.
Enter your Squarespace Site ID and API key in Contell's Squarespace integration settings.
const response = await fetch('https://api.squarespace.com/1.0/content/' + siteId + '/blog', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: title,
body: content,
publishedOn: new Date().toISOString(),
categories: ['AI', 'Content']
})
});
const result = await response.json();
console.log('Published:', result.url);Squarespace API access requires a Business or Commerce plan. Personal plans do not support API integration.
Use Zesuss's REST API to integrate with any custom website. Generate, retrieve, and publish content programmatically.
Base URL: https://api.contell.com/v1
| Method | Endpoint | Description |
|---|---|---|
| POST | /generate | Generate new content from topic and keywords |
| GET | /content/:id | Retrieve generated content by ID |
| POST | /publish | Publish content to connected CMS |
| GET | /platforms | List connected CMS platforms |
| POST | /schedule | Schedule content for future publishing |
| GET | /analytics/:id | Get content performance metrics |
const response = await fetch('https://api.contell.com/v1/generate', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
topic: "Future of AI Marketing",
keywords: ["marketing", "AI", "SaaS"],
tone: "professional",
wordCount: 1500,
includeImage: true
})
});
const data = await response.json();
console.log("Generated:", data.id, data.title);{
"id": "cnt_abc123",
"title": "The Future of AI Marketing in 2026",
"content": "<article>...</article>",
"excerpt": "A comprehensive look at how AI...",
"wordCount": 1523,
"estimatedReadTime": "8 min",
"keywords": ["marketing", "AI", "SaaS"],
"featuredImage": "https://cdn.contell.com/img/abc123.jpg",
"status": "generated",
"createdAt": "2026-06-06T12:00:00Z"
}import { Contell } from '@contell/sdk';
const client = new Contell({ apiKey: 'ctl_api_...' });
const content = await client.generate({
topic: 'AI Marketing',
keywords: ['AI', 'marketing']
});from contell import Contell
client = Contell(api_key='ctl_api_...')
content = client.generate(
topic='AI Marketing',
keywords=['AI', 'marketing']
)curl -X POST https://api.contell.com/v1/generate \
-H "Authorization: Bearer ctl_api_..." \
-H "Content-Type: application/json" \
-d '{"topic": "AI Marketing", "keywords": ["AI", "marketing"]}'Zesuss's auto-scheduling engine lets you plan, queue, and publish content automatically — no manual intervention required.
The scheduling system analyzes your audience engagement patterns to recommend optimal publishing times. You can set recurring schedules, batch operations, and configure timezone-aware publishing across all connected CMS platforms.
AI recommends optimal publish times based on audience activity and historical engagement data across your platforms.
Generate and queue multiple articles at once. Set a publishing cadence and let the system handle the rest.
Schedule content for specific timezones. Perfect for global brands publishing to multiple regional markets.
Set up recurring content series — weekly roundups, monthly digests, or daily tips — published on autopilot.
Publish to multiple CMS platforms simultaneously on the same schedule. Consistent timing across all channels.
Visual drag-and-drop calendar for managing your entire content schedule at a glance.
Schedule content for future publishing:
const response = await fetch('https://api.contell.com/v1/schedule', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contentId: "cnt_abc123",
platforms: ["wordpress", "shopify"],
publishAt: "2026-06-15T09:00:00Z",
timezone: "America/New_York",
status: "publish"
})
});
const schedule = await response.json();
console.log("Scheduled:", schedule.id, schedule.publishAt);Queue multiple pieces of content at once:
const response = await fetch('https://api.contell.com/v1/schedule/bulk', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: [
{ topic: "AI Trends 2026", keywords: ["AI"], publishAt: "2026-06-15T09:00:00Z" },
{ topic: "SEO Guide", keywords: ["SEO"], publishAt: "2026-06-17T09:00:00Z" },
{ topic: "Content Strategy", keywords: ["content"], publishAt: "2026-06-20T09:00:00Z" }
],
platformIds: ["wp_123", "shp_456"]
})
});Go to Contell Dashboard → Schedule. You'll see your content calendar.
Click Create Schedule. Select the content, platforms, and set your preferred publish time and timezone.
For recurring content, select the frequency (daily, weekly, monthly) and set the interval.
Review your scheduled items in the calendar view. Drag and drop to adjust timing. Click Confirm to activate.
| Action | Endpoint | Method |
|---|---|---|
| List Schedules | /schedule | GET |
| Create Schedule | /schedule | POST |
| Update Schedule | /schedule/:id | PUT |
| Cancel Schedule | /schedule/:id | DELETE |
| Bulk Create | /schedule/bulk | POST |
| Get Calendar | /schedule/calendar | GET |
Scheduled content respects the timezone setting of your connected CMS platforms. Verify timezone configurations in both Contell and your CMS to ensure accurate publishing.
Zesuss sends HTTP POST payloads to your webhook URL whenever a post has been generated, published, or scheduled.
Webhooks allow you to receive real-time notifications about content events. Use them to trigger downstream workflows, sync data, or send notifications.
In the Contell Dev Dashboard, add an HTTPS URL endpoint you control. Make sure it's publicly accessible.
Every webhook payload includes a signature header. Validate it using your secret token to prevent spoofed payloads.
import express from 'express';
import crypto from 'crypto';
const app = express();
const WEBHOOK_SECRET = process.env.CONTELL_WEBHOOK_SECRET;
app.post('/contell-webhook', express.json(), (req, res) => {
const signature = req.headers['x-contell-signature'];
const payload = JSON.stringify(req.body);
const expected = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(payload)
.digest('hex');
if (signature !== expected) {
return res.status(401).send('Invalid signature');
}
const event = req.body;
switch (event.type) {
case 'content.generated':
console.log('Content generated:', event.data.title);
break;
case 'content.published':
console.log('Published to:', event.data.platform);
break;
case 'content.scheduled':
console.log('Scheduled for:', event.data.publishAt);
break;
}
res.status(200).send('OK');
});
app.listen(3000);| Event Type | Description | Trigger |
|---|---|---|
| content.generated | New content has been generated | Generation complete |
| content.published | Content published to a platform | Publish success |
| content.scheduled | Content has been scheduled | Schedule created |
| content.failed | Content operation failed | Error occurred |
| platform.connected | New CMS platform connected | Integration success |
| platform.disconnected | CMS platform disconnected | Integration removed |
To ensure fair usage, Zesuss applies API rate limits depending on your subscription tier.
| Tier | Rate Limit | Batch Size | Concurrent Jobs |
|---|---|---|---|
| Starter | 50 req/min | 10 articles | 2 |
| Business | 200 req/min | 50 articles | 10 |
| Agency | 500 req/min | 200 articles | 50 |
| Enterprise | Custom | Unlimited | Unlimited |
| Status Code | Meaning | Resolution |
|---|---|---|
| 400 | Bad Request | Check your request payload for missing or invalid fields |
| 401 | Unauthorized | Verify your API key is correct and active |
| 403 | Forbidden | Your API key lacks permissions for this resource |
| 404 | Not Found | The requested resource does not exist |
| 409 | Conflict | A resource with the same identifier already exists |
| 422 | Unprocessable Entity | The request was well-formed but contains semantic errors |
| 429 | Too Many Requests | Rate limit exceeded. Check X-RateLimit-Reset header |
| 500 | Internal Server Error | Something went wrong on our end. Retry with backoff |
| 503 | Service Unavailable | Temporary maintenance or overload. Retry later |
Every API response includes rate limit information in the response headers:
X-RateLimit-Limit: 50
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1686072000
Retry-After: 8If you exceed your rate limit, you will receive a 429 status code. Implement exponential backoff in your integration to handle this gracefully.
Create a Contell account, generate an API key from the dashboard, and follow the authentication guide above. You can start generating content immediately using our API or dashboard.
We support WordPress, Shopify, Webflow, Wix, Ghost, Blogger, and custom websites via our REST API. New platforms are added regularly.
Yes. Select multiple platforms when generating or publishing content. A single API call can distribute content across all your connected platforms.
After generation, content can be sent for review via Email, WhatsApp, or SMS. Approvers can approve, reject, or request edits before publishing.
Our AI is trained on millions of high-performing articles. It supports multiple tones (professional, conversational, persuasive) and includes SEO analysis, keyword optimization, and title scoring.
Yes. The auto-scheduling feature lets you plan content days, weeks, or months ahead. Use the calendar view for visual planning.
All data is encrypted in transit (TLS 1.3) and at rest (AES-256). API keys are hashed and never logged. SOC 2 compliance is in progress.
Contell automatically retries failed publications with exponential backoff. You'll receive a webhook notification if publishing fails permanently.
Ensure the API key is active in your dashboard. Check for leading/trailing whitespace in your Authorization header. Keys are case-sensitive.
Verify your CMS credentials are correct. Check that your CMS is publicly accessible. Some CMS platforms restrict API access by IP.
Verify the scheduled time is in the correct timezone. Check that your CMS platform has enough storage/quota. Ensure the content status is not draft.
Confirm your webhook URL is publicly accessible and accepts POST requests. Verify the webhook secret matches between Contell and your server.