> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plugkit.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a campaign (paused unless stated)



## OpenAPI

````yaml /api-reference/openapi.json post /v1/ads/{accountId}/campaigns
openapi: 3.0.0
info:
  title: PlugKit API
  description: >-
    One API to publish, schedule and message across Instagram, WhatsApp, TikTok,
    Telegram, YouTube and X.
  version: 1.0.0
  contact: {}
servers: []
security: []
tags: []
paths:
  /v1/ads/{accountId}/campaigns:
    post:
      tags:
        - ads
      summary: Create a campaign (paused unless stated)
      operationId: AdsController_createCampaign
      parameters:
        - name: accountId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignDto'
      responses:
        '201':
          description: ''
      security:
        - api-key: []
components:
  schemas:
    CreateCampaignDto:
      type: object
      properties:
        name:
          type: string
          example: Soldes été — trafic
        objective:
          type: string
          enum:
            - OUTCOME_AWARENESS
            - OUTCOME_TRAFFIC
            - OUTCOME_ENGAGEMENT
            - OUTCOME_LEADS
            - OUTCOME_APP_PROMOTION
            - OUTCOME_SALES
        status:
          type: string
          enum:
            - ACTIVE
            - PAUSED
          description: >-
            PAUSED by default: a campaign created running starts spending
            immediately.
        dailyBudget:
          type: number
          description: >-
            Daily budget in minor units of the ad account currency (2000 =
            €20.00). Set it here for campaign budget optimization, or on the ad
            set instead.
          example: 2000
        lifetimeBudget:
          type: number
          description: Lifetime budget in minor units of the account currency.
        bidStrategy:
          type: string
          example: LOWEST_COST_WITHOUT_CAP
        specialAdCategories:
          description: >-
            Special ad categories (CREDIT, EMPLOYMENT, HOUSING,
            ISSUES_ELECTIONS_POLITICS, ONLINE_GAMBLING_AND_GAMING). Empty means
            none — declaring wrongly gets the campaign rejected at Meta review.
          example: []
          type: array
          items:
            type: string
      required:
        - name
        - objective
  securitySchemes:
    api-key:
      scheme: bearer
      bearerFormat: sk_...
      type: http

````