# Zoho Campaigns > Zoho Campaigns is an email marketing platform from Zoho Corporation with two distinct public API surfaces: the Zoho Campaigns API v1.1 (campaigns, mailing lists, contacts, segments, topics and workflows, OAuth 2.0) and the Zoho Campaigns Email API v2 (transactional/bulk email sending — transmissions, templates, recipient lists, suppression, sending and tracking domains, webhooks, reports — API key). Zoho publishes no OpenAPI for either surface; the machine-readable artifact it does publish is a first-party Postman collection for the Email API. Generated by API Evangelist from apis.yml and the artifacts in this repository. Zoho serves no /llms.txt of its own (probed 2026-08-13: https://www.zoho.com/llms.txt 404, https://www.zoho.com/campaigns/llms.txt 404, https://www.zoho.com/campaigns/help/developers/llms.txt 404). ## APIs - [Zoho Campaigns API v1.1](https://www.zoho.com/campaigns/help/developers/): Base https://campaigns.zoho.com/api/v1.1/ — RPC-over-HTTP. Parameters go in the query string and must be URL-encoded. Response format is chosen with `resfmt=JSON` or `resfmt=XML`, not an Accept header. Errors come back with HTTP 200 and a numeric `code` in the body. - [Zoho Campaigns Email API v2](https://www.zoho.com/campaigns/help/emailapi/overview.html): Base https://campaigns.zoho.com/emailapi/v2/ — resource-oriented JSON REST for sending email, managing templates, recipient lists, suppression, domains and webhooks. ## Authentication - [Access token guide (API v1.1)](https://www.zoho.com/campaigns/help/developers/access-token.html): OAuth 2.0 authorization code against https://accounts.zoho.com/oauth/v2/auth and /oauth/v2/token. Header is `Authorization: Zoho-oauthtoken ` — NOT `Bearer`. Access tokens expire after one hour; refresh tokens mint new ones. - [Email API authentication](https://www.zoho.com/campaigns/help/emailapi/authentication.html): API key, header `Authorization: Zoho-zapikey `, scope `ZohoCampaigns.emailapi.ALL`, max 20 keys per user. - [OIDC discovery](https://accounts.zoho.com/.well-known/openid-configuration) - Scopes: ZohoCampaigns.campaign.{CREATE,READ,UPDATE,DELETE,CREATE-UPDATE,WRITE,ALL} and ZohoCampaigns.contact.{CREATE,READ,UPDATE,DELETE,CREATE-UPDATE,WRITE,ALL}. A bad scope returns INVALID_SCOPE. ## Method surface (API v1.1) - [Campaign management](https://www.zoho.com/campaigns/help/developers/campaign-management.html): getcampaigndetails, createcampaign, sendcampaign, schedulecampaign, clonecampaign, campaignreports, recentcampaigns, recentsentcampaigns, getlastcampaignreport, getcampaignrecipientsdata, viewcoupondetails, changecouponstatus, deletecampaign - [List management](https://www.zoho.com/campaigns/help/developers/list-management.html): getmailinglists, getlistadvanceddetails, getlistcontacts, getallcontactfields, getsegmentdetails, getsegmentcontacts, updatelistdetails, deletemailinglist, totalcontacts, listsubscribe, listunsubscribe, contactdonotmail, addlistandcontacts, addlistcontactsinbulk, createcustomfield, createmergetags - [Topic management](https://www.zoho.com/campaigns/help/developers/topic-management.html): createtopics, gettopics, getproduct - [Workflow management](https://www.zoho.com/campaigns/help/developers/workflow-management.html): getopencustomworkflows, triggercontacts - List operations need a `listkey` generated in the UI under Contacts > Manage Lists > Setup; it cannot be constructed. ## Machine-readable artifacts - [Email API Postman collection (first-party)](https://www.zoho.com/sites/zweb/images/campaigns/emailapisamplejson/email_api_30jun2025_latest_collection.json) — Postman Collection v2.1.0, Email API v1 (OAuth) and v2 (API key) - [Public Postman workspace](https://www.postman.com/zoho-emailapi-b1/zoho-campaigns-email-api/collection/lhb7bxz/email-api-collection) - No OpenAPI, no AsyncAPI, no GraphQL, no gRPC/protobuf published. ## Events and webhooks - [Webhook events](https://www.zoho.com/campaigns/help/emailapi/webhook-events.html): Delivered, Bounce, Spam, Opens, Clicks, Unsubscribes — POSTed to a configured URL with a shared envelope (webhook_name, webhook_id, action, actionType, action_by, data[]). - [Webhook management API](https://www.zoho.com/campaigns/help/emailapi/webhooks.html): create, modify, get, get all, delete under /emailapi/v2/settings/webhook. - No payload signature is published; subscriptions may carry an auth token, basic credentials, or custom headers. ## Errors - [API v1.1 error codes](https://www.zoho.com/campaigns/help/developers/error-codes.html) - [Email API error codes](https://www.zoho.com/campaigns/help/emailapi/error-codes.html) — 6-digit, 2xxxxx success / 4xxxxx client / 5xxxxx server - Not RFC 9457. Read the body `code`, not the HTTP status. ## Limits - 500 API calls per 5 minutes per account; breaching it locks the Zoho Campaigns API for 30 minutes (other Zoho product APIs are unaffected). - No X-RateLimit-* / RateLimit-* / Retry-After headers are documented. - Email API reports accept a maximum 90-day date range (error 400303 beyond it). ## Agents - No MCP server: [Zoho MCP supported services](https://www.zoho.com/mcp/services/zoho-services.html) lists Zoho Campaigns under "Upcoming services". - No A2A agent card served on any Zoho Campaigns host. ## Commercial - [Pricing](https://www.zoho.com/campaigns/pricing.html) — Forever Free, Standard, Professional, Agency, and prepaid Pay-as-you-go credits for the Email API - [Sign up](https://www.zoho.com/campaigns/signup.html) - [Terms of service](https://www.zoho.com/campaigns/terms.html) - [Privacy policy](https://www.zoho.com/privacy.html) - [Compliance portfolio](https://www.zoho.com/compliance.html) — ISO 27001/27017/27018/27701, SOC 1 and SOC 2 Type 2, SOC 2 + HIPAA, PCI DSS SAQ-D, CSA STAR, GDPR, CCPA - [Status](https://status.zoho.com/) - [What's new](https://www.zoho.com/campaigns/whats-new.html) - [Security policy / bug bounty](https://bugbounty.zohocorp.com/bb/info) — security@zohocorp.com ## Support - support@zohocampaigns.com - [Community](https://help.zoho.com/portal/en/community/zoho-campaigns)