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

# Post apiv1campaignsgenerate ad copy



## OpenAPI

````yaml https://backend.aflux.ai/openapi post /api/v1/campaigns/generate-ad-copy
openapi: 3.0.3
info:
  title: AdFlux Backend API
  version: v1
servers:
  - url: /
security: []
tags:
  - name: auth
  - name: users
  - name: uploads
  - name: projects
  - name: campaigns
  - name: placements
  - name: billing
  - name: payments
  - name: image-generations
paths:
  /api/v1/campaigns/generate-ad-copy:
    post:
      tags:
        - campaigns
      operationId: campaignsGenerateAdCopy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateAdCopyRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateAdCopyResponse'
        default:
          $ref: '#/components/responses/DefaultError'
      security:
        - Bearer: []
components:
  schemas:
    GenerateAdCopyRequest:
      type: object
      required:
        - projectContext
        - userNotes
      properties:
        projectContext:
          $ref: '#/components/schemas/ProjectAiContext'
        userNotes:
          type: string
          minLength: 1
          maxLength: 2000
        objective:
          $ref: '#/components/schemas/CampaignObjective'
          nullable: true
        destinationUrl:
          type: string
          nullable: true
          maxLength: 2048
          description: >-
            The campaign's destination URL, so the generated copy can link to
            it. Placeholders (see CreateCampaignRequest.destinationUrl) are
            carried into the generated text character for character: the
            generator is told they are load-bearing and must not be renamed,
            completed or tidied away with the rest of the query string.
    GenerateAdCopyResponse:
      type: object
      required:
        - adCopy
      properties:
        adCopy:
          type: string
    ProjectAiContext:
      type: object
      required:
        - businessOverview
        - customerDemographics
      properties:
        businessOverview:
          type: string
        customerDemographics:
          type: string
    CampaignObjective:
      type: string
      enum:
        - AWARENESS
        - TRAFFIC
        - CONVERSIONS
        - APP_INSTALLS
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
  responses:
    DefaultError:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````