Pomo Email Campaigns V2 API

The Email Campaigns V2 API from Pomo — 8 operation(s) for email campaigns v2.

Business capability
Digital Marketing Management BC-400.60

Operations 8

POST /api/email-campaigns/v2/preview Preview Campaign #
POST /api/email-campaigns/v2/test Send Test Emails #
POST /api/email-campaigns/v2/send Send Campaign #
PUT /api/email-campaigns/v2/workflow-status Update Workflow Status #
POST /api/email-campaigns/v2/validate-personalization Validate Personalization #
GET /api/email-campaigns/v2/{campaign_id}/performance Get Campaign Performance #
GET /api/email-campaigns/v2/{campaign_id}/insights Get Campaign Insights #
POST /api/email-campaigns/v2/{campaign_id}/complete-ab-test Complete Ab Test #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pomo-email-campaigns-v2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pomo-email-campaigns-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GPT Backend Email Campaigns V2 API
  version: 0.1.0
servers:
- url: https://api.usepomo.ai
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Email Campaigns V2
paths:
  /api/email-campaigns/v2/preview:
    post:
      tags:
      - Email Campaigns V2
      summary: Preview Campaign
      description: Generate preview of email campaign with sample personalization
      operationId: preview_campaign_api_email_campaigns_v2_preview_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/email-campaigns/v2/test:
    post:
      tags:
      - Email Campaigns V2
      summary: Send Test Emails
      description: Send test emails to specified addresses
      operationId: send_test_emails_api_email_campaigns_v2_test_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestEmailRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/email-campaigns/v2/send:
    post:
      tags:
      - Email Campaigns V2
      summary: Send Campaign
      description: Send campaign to recipients or schedule for later
      operationId: send_campaign_api_email_campaigns_v2_send_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendCampaignRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/email-campaigns/v2/workflow-status:
    put:
      tags:
      - Email Campaigns V2
      summary: Update Workflow Status
      description: Update campaign workflow status
      operationId: update_workflow_status_api_email_campaigns_v2_workflow_status_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkflowUpdateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/email-campaigns/v2/validate-personalization:
    post:
      tags:
      - Email Campaigns V2
      summary: Validate Personalization
      description: Validate personalization template and get available variables
      operationId: validate_personalization_api_email_campaigns_v2_validate_personalization_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonalizationValidateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/email-campaigns/v2/{campaign_id}/performance:
    get:
      tags:
      - Email Campaigns V2
      summary: Get Campaign Performance
      description: Get campaign performance metrics
      operationId: get_campaign_performance_api_email_campaigns_v2__campaign_id__performance_get
      security:
      - HTTPBearer: []
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          title: Campaign Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/email-campaigns/v2/{campaign_id}/insights:
    get:
      tags:
      - Email Campaigns V2
      summary: Get Campaign Insights
      description: Get AI-generated insights and recommendations
      operationId: get_campaign_insights_api_email_campaigns_v2__campaign_id__insights_get
      security:
      - HTTPBearer: []
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          title: Campaign Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/email-campaigns/v2/{campaign_id}/complete-ab-test:
    post:
      tags:
      - Email Campaigns V2
      summary: Complete Ab Test
      description: Complete A/B test and send winning variant to holdout
      operationId: complete_ab_test_api_email_campaigns_v2__campaign_id__complete_ab_test_post
      security:
      - HTTPBearer: []
      parameters:
      - name: campaign_id
        in: path
        required: true
        schema:
          type: integer
          title: Campaign Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    WorkflowUpdateRequest:
      properties:
        campaign_id:
          type: integer
          title: Campaign Id
        new_status:
          type: string
          pattern: ^(draft|review|approved|scheduled|sending|sent|failed)$
          title: New Status
      type: object
      required:
      - campaign_id
      - new_status
      title: WorkflowUpdateRequest
      description: Request to update workflow status
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    PersonalizationValidateRequest:
      properties:
        template:
          type: string
          title: Template
        consumer_group_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Consumer Group Id
      type: object
      required:
      - template
      title: PersonalizationValidateRequest
      description: Request to validate personalization template
    TestEmailRequest:
      properties:
        campaign_id:
          type: integer
          title: Campaign Id
        test_emails:
          items:
            type: string
          type: array
          maxItems: 10
          minItems: 1
          title: Test Emails
      type: object
      required:
      - campaign_id
      - test_emails
      title: TestEmailRequest
      description: Request to send test emails
    ABTestConfig:
      properties:
        test_type:
          type: string
          pattern: ^(subject_line|content|send_time|from_name|multivariate)$
          title: Test Type
        test_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Test Name
        test_size:
          type: number
          maximum: 50.0
          minimum: 5.0
          title: Test Size
          default: 20.0
        winner_metric:
          type: string
          pattern: ^(open_rate|click_rate|conversion_rate)$
          title: Winner Metric
          default: click_rate
        duration_hours:
          type: integer
          maximum: 168.0
          minimum: 1.0
          title: Duration Hours
          default: 24
        auto_select:
          type: boolean
          title: Auto Select
          default: true
        min_sample_size:
          type: integer
          minimum: 50.0
          title: Min Sample Size
          default: 100
        variants:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Variants
      type: object
      required:
      - test_type
      - variants
      title: ABTestConfig
      description: A/B test configuration
    SendCampaignRequest:
      properties:
        campaign_id:
          type: integer
          title: Campaign Id
        consumer_group_ids:
          items:
            type: integer
          type: array
          title: Consumer Group Ids
        scheduled_time:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Scheduled Time
        ab_test_config:
          anyOf:
          - $ref: '#/components/schemas/ABTestConfig'
          - type: 'null'
      type: object
      required:
      - campaign_id
      - consumer_group_ids
      title: SendCampaignRequest
      description: Request to send campaign
    PreviewRequest:
      properties:
        campaign_id:
          type: integer
          title: Campaign Id
        sample_size:
          type: integer
          maximum: 20.0
          minimum: 1.0
          title: Sample Size
          default: 5
      type: object
      required:
      - campaign_id
      title: PreviewRequest
      description: Request for email preview
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer