---
title: "LinkedIn DraftsSave"
method: POST
path: "/v1/workspaces/{workspaceId}/ads/linkedin/{accountId}/drafts"
tags: ["Ads"]
---

# LinkedIn DraftsSave

`POST /v1/workspaces/{workspaceId}/ads/linkedin/{accountId}/drafts`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/ads/linkedin/{accountId}/drafts`
- Auth: HTTP bearer

Save a local draft only. Supply updatedAt for subsequent replacement saves. Creates nothing on LinkedIn. The account must be a LinkedIn account with campaign management access.

## Path parameters

- `accountId` string, required
- `workspaceId` string, uuid, required

## Request body

- object
  - `requestKey` string, uuid, required: Stable client UUID for this draft and submission. Reuse after an unknown response; a new key can create another campaign.
  - `specification` object, required: Whole composer specification; replaces the saved draft. Decimal money is in account currency major units. Dates are ISO instants. Media IDs are local UUIDs; parent and Page IDs are provider numeric IDs. New single image ads can include optional imageAltText and imageDescription, and carousel cards optional altText, up to 300 characters each. imageDescription needs offsiteDeliveryEnabled. New video ads accept videoThumbnailMediaId (JPG or PNG, up to 2 MB, matching the video dimensions) and videoCaptions (English plain-text SRT filename and UTF-8 content, up to 1 MB). The top-level ad fields describe the first ad; ads lists further ads for the same ad set, up to 5 in all, each with its own name, text, media and destination. The format, Page and lead form are shared. existingPost is a single-ad choice.
    - `parentRevision` string: Server-bound inherited settings. Keep when saving a returned draft; recalculated on submission.
    - `existingGroupId` string
    - `existingCampaignId` string
    - `useCampaignBudget` boolean
    - `groupBudgetOptimization` 'DYNAMIC'
    - `nonPolitical` true: Confirms that no ad is political advertising under the law of the targeted countries, including EU law. The dashboard ticks it by default, and ads.linkedin.operations.create treats a missing value as true.
    - `format` 'text' | 'image' | 'video' | 'carousel' | 'document' | 'follower' | 'spotlight'
    - `objectiveType` 'BRAND_AWARENESS' | 'WEBSITE_VISIT' | 'ENGAGEMENT' | 'LEAD_GENERATION' | 'WEBSITE_CONVERSION' | 'VIDEO_VIEW'
    - `leadFormId` string
    - `newLeadForm` object
      - `name` string, required
      - `headline` string, required
      - `description` string, required
      - `privacyPolicyUrl` string, required
      - `legalDisclaimer` string
      - `confirmationMessage` string, required
      - `landingUrl` string, required
      - `questions` object[], required
        - `label` string, required
        - `predefinedField` 'FIRST_NAME' | 'LAST_NAME' | 'EMAIL' | 'WORK_EMAIL' | 'PHONE_NUMBER' | 'WORK_PHONE_NUMBER' | 'CITY' | 'STATE' | 'COUNTRY' | 'ZIP_CODE' | 'JOB_TITLE' | 'JOB_FUNCTION' | 'SENIORITY' | 'COMPANY_NAME' | 'COMPANY_SIZE' | 'INDUSTRY' | 'DEGREE' | 'FIELD_OF_STUDY' | 'SCHOOL' | 'START_DATE' | 'GRADUATION_DATE' | 'GENDER' | 'LINKEDIN_PROFILE_LINK'
        - `required` boolean, required
        - `options` string[]
      - `consents` object[]
        - `text` string, required
        - `required` boolean, required
      - `hiddenFields` object[]
        - `name` string, required
        - `value` string, required
    - `newConversion` object
      - `name` string, required
      - `method` 'WEBSITE' | 'EVENT' | 'CONVERSIONS_API', required
      - `type` 'ADD_TO_CART' | 'DOWNLOAD' | 'INSTALL' | 'KEY_PAGE_VIEW' | 'LEAD' | 'PURCHASE' | 'SIGN_UP' | 'OTHER' | 'SAVE' | 'START_CHECKOUT' | 'SCHEDULE' | 'VIEW_CONTENT' | 'VIEW_VIDEO' | 'ADD_BILLING_INFO' | 'BOOK_APPOINTMENT' | 'REQUEST_QUOTE' | 'SEARCH' | 'SUBSCRIBE' | 'AD_CLICK' | 'AD_VIEW' | 'COMPLETE_SIGNUP' | 'SUBMIT_APPLICATION' | 'PHONE_CALL' | 'INVITE' | 'LOGIN' | 'SHARE' | 'DONATE' | 'ADD_TO_LIST' | 'START_TRIAL' | 'OUTBOUND_CLICK' | 'CONTACT' | 'QUALIFIED_LEAD', required
      - `postClickAttributionWindowSize` union, required
        - 1
        - 7
        - 30
        - 90
        - 365
      - `viewThroughAttributionWindowSize` union, required
        - 1
        - 7
        - 30
        - 90
        - 365
      - `attributionType` 'LAST_TOUCH_BY_CAMPAIGN' | 'LAST_TOUCH_BY_CONVERSION', required
      - `urlMatchRuleExpression` array[]
        - object[]
          - `matchType` 'EXACT' | 'STARTS_WITH' | 'CONTAINS', required
          - `matchValue` string, required
      - `valueType` 'NO_VALUE' | 'FIXED' | 'DYNAMIC', required
      - `value` string
    - `existingPost` union
      - string
      - ''
    - `biddingStrategy` 'MANUAL_CPC' | 'MANUAL_CPM' | 'MAXIMUM_DELIVERY' | 'ENHANCED_CPC' | 'MANUAL_CPV' | 'TARGET_COST' | 'COST_CAP'
    - `optimizationGoal` 'IMPRESSIONS' | 'QUALIFIED_LEADS'
    - `offsiteDeliveryEnabled` boolean
    - `excludedIabCategories` string[]
    - `audienceExpansionEnabled` boolean
    - `trackingParameters` object[]
      - `key` string, required
      - `kind` 'custom' | 'dynamic', required
      - `value` string, required
    - `conversionIds` string[]
    - `logoMediaId` string, uuid
    - `backgroundMediaId` string, uuid
    - `organizationName` string
    - `showMemberProfilePhoto` boolean
    - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
    - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
    - `spotlightCallToAction` string
    - `cards` object[]
      - `mediaId` union, required
        - string, uuid
        - ''
      - `headline` string, required
      - `landingUrl` string, required
      - `altText` string
    - `mediaId` string, uuid
    - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
    - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
      - `name` string, required
      - `content` string, required
    - `documentPreviewPages` integer
    - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
    - `creativeName` string, required
    - `headline` string, required
    - `description` string, required
    - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
    - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
    - `personalizedDescription` string
    - `landingUrl` string, required
    - `ads` object[]: The ads after the first, which the top-level ad fields describe, up to 5 ads in all. Each has its own name, text, media and destination; the format, Page and lead form are shared. Not available with existingPost.
      - `logoMediaId` string, uuid
      - `backgroundMediaId` string, uuid
      - `organizationName` string
      - `showMemberProfilePhoto` boolean
      - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
      - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
      - `spotlightCallToAction` string
      - `cards` object[]
        - `mediaId` union, required
          - string, uuid
          - ''
        - `headline` string, required
        - `landingUrl` string, required
        - `altText` string
      - `mediaId` string, uuid
      - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
      - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
        - `name` string, required
        - `content` string, required
      - `documentPreviewPages` integer
      - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
      - `creativeName` string, required
      - `headline` string, required
      - `description` string, required
      - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
      - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
      - `personalizedDescription` string
      - `landingUrl` string, required
    - `selectedAd` integer: The ad open in the composer, by position. Ignored by creation.
    - `pageId` string
    - `locationIds` string[], required
    - `locationType` 'locations' | 'profileLocations'
    - `excludedLocationIds` string[]
    - `profileLocale` string
    - `targeting` object
      - `jobFunctions` string[]
      - `seniorities` string[]
      - `industries` string[]
      - `staffCountRanges` string[]
      - `titles` string[]
      - `titlesAll` string[]
      - `titlesPast` string[]
      - `skills` string[]
      - `yearsOfExperienceRanges` string[]
      - `employers` string[]
      - `employersAll` string[]
      - `employersPast` string[]
      - `followedCompanies` string[]
      - `firstDegreeConnectionCompanies` string[]
      - `growthRate` string[]
      - `revenue` string[]
      - `companyCategory` string[]
      - `degrees` string[]
      - `fieldsOfStudy` string[]
      - `schools` string[]
      - `interests` string[]
      - `memberBehaviors` string[]
      - `buyerGroups` string[]
      - `groups` string[]
      - `ageRanges` string[]
      - `genders` string[]
      - `audienceMatchingSegments` string[]
      - `dynamicSegments` string[]
    - `targetingGroups` object[]
      - `jobFunctions` string[]
      - `seniorities` string[]
      - `industries` string[]
      - `staffCountRanges` string[]
      - `titles` string[]
      - `titlesAll` string[]
      - `titlesPast` string[]
      - `skills` string[]
      - `yearsOfExperienceRanges` string[]
      - `employers` string[]
      - `employersAll` string[]
      - `employersPast` string[]
      - `followedCompanies` string[]
      - `firstDegreeConnectionCompanies` string[]
      - `growthRate` string[]
      - `revenue` string[]
      - `companyCategory` string[]
      - `degrees` string[]
      - `fieldsOfStudy` string[]
      - `schools` string[]
      - `interests` string[]
      - `memberBehaviors` string[]
      - `buyerGroups` string[]
      - `groups` string[]
      - `ageRanges` string[]
      - `genders` string[]
      - `audienceMatchingSegments` string[]
      - `dynamicSegments` string[]
    - `excludedTargeting` object
      - `jobFunctions` string[]
      - `seniorities` string[]
      - `industries` string[]
      - `staffCountRanges` string[]
      - `titles` string[]
      - `titlesAll` string[]
      - `titlesPast` string[]
      - `skills` string[]
      - `yearsOfExperienceRanges` string[]
      - `employers` string[]
      - `employersAll` string[]
      - `employersPast` string[]
      - `followedCompanies` string[]
      - `firstDegreeConnectionCompanies` string[]
      - `growthRate` string[]
      - `revenue` string[]
      - `companyCategory` string[]
      - `degrees` string[]
      - `fieldsOfStudy` string[]
      - `schools` string[]
      - `interests` string[]
      - `memberBehaviors` string[]
      - `buyerGroups` string[]
      - `groups` string[]
      - `ageRanges` string[]
      - `genders` string[]
      - `audienceMatchingSegments` string[]
      - `dynamicSegments` string[]
    - `locationNames` object
    - `excludedLocationNames` object
    - `groupName` string, required
    - `campaignName` string, required
    - `budgetMode` 'DAILY' | 'LIFETIME' | 'DAILY_AND_LIFETIME'
    - `dailyBudget` string, required
    - `totalBudget` string, required
    - `bid` string, required
    - `startAt` string, required
    - `endAt` string, required
    - `noEndDate` boolean
  - `updatedAt` string, date-time: Exact timestamp from the last read, required when updating an existing draft.

## Response `200`

LinkedIn DraftsSave

- object
  - `data` object, required
    - `account` object, required
      - `id` string, required
      - `platform` 'meta' | 'tiktok' | 'linkedin' | 'google' | 'pinterest', required
      - `providerAccountId` string, required: The account ID the platform uses.
      - `name` string, nullable, required
      - `currency` string, nullable, required
      - `timezone` string, nullable, required: IANA timezone the platform reports this account in.
      - `isEnabled` boolean, required
      - `credentialStatus` 'active' | 'revoked', required
    - `money` object, required
      - `unit` 'micros', required
      - `microsPerCurrencyUnit` 1000000, required
      - `currency` string, nullable, required: ISO currency of the ad account.
    - `operation` object, required
      - `id` string, uuid, required
      - `requestKey` string, uuid, required
      - `specification` union, required
        - object
          - `parentRevision` string: Server-bound inherited settings. Keep when saving a returned draft; recalculated on submission.
          - `existingGroupId` string
          - `existingCampaignId` string
          - `useCampaignBudget` boolean
          - `groupBudgetOptimization` 'DYNAMIC'
          - `nonPolitical` true: Confirms that no ad is political advertising under the law of the targeted countries, including EU law. The dashboard ticks it by default, and ads.linkedin.operations.create treats a missing value as true.
          - `format` 'text' | 'image' | 'video' | 'carousel' | 'document' | 'follower' | 'spotlight'
          - `objectiveType` 'BRAND_AWARENESS' | 'WEBSITE_VISIT' | 'ENGAGEMENT' | 'LEAD_GENERATION' | 'WEBSITE_CONVERSION' | 'VIDEO_VIEW'
          - `leadFormId` string
          - `newLeadForm` object
            - `name` string, required
            - `headline` string, required
            - `description` string, required
            - `privacyPolicyUrl` string, required
            - `legalDisclaimer` string
            - `confirmationMessage` string, required
            - `landingUrl` string, required
            - `questions` object[], required
              - …
            - `consents` object[]
              - …
            - `hiddenFields` object[]
              - …
          - `newConversion` object
            - `name` string, required
            - `method` 'WEBSITE' | 'EVENT' | 'CONVERSIONS_API', required
            - `type` 'ADD_TO_CART' | 'DOWNLOAD' | 'INSTALL' | 'KEY_PAGE_VIEW' | 'LEAD' | 'PURCHASE' | 'SIGN_UP' | 'OTHER' | 'SAVE' | 'START_CHECKOUT' | 'SCHEDULE' | 'VIEW_CONTENT' | 'VIEW_VIDEO' | 'ADD_BILLING_INFO' | 'BOOK_APPOINTMENT' | 'REQUEST_QUOTE' | 'SEARCH' | 'SUBSCRIBE' | 'AD_CLICK' | 'AD_VIEW' | 'COMPLETE_SIGNUP' | 'SUBMIT_APPLICATION' | 'PHONE_CALL' | 'INVITE' | 'LOGIN' | 'SHARE' | 'DONATE' | 'ADD_TO_LIST' | 'START_TRIAL' | 'OUTBOUND_CLICK' | 'CONTACT' | 'QUALIFIED_LEAD', required
            - `postClickAttributionWindowSize` union, required
              - …
            - `viewThroughAttributionWindowSize` union, required
              - …
            - `attributionType` 'LAST_TOUCH_BY_CAMPAIGN' | 'LAST_TOUCH_BY_CONVERSION', required
            - `urlMatchRuleExpression` array[]
              - …
            - `valueType` 'NO_VALUE' | 'FIXED' | 'DYNAMIC', required
            - `value` string
          - `existingPost` union
            - string
            - ''
          - `biddingStrategy` 'MANUAL_CPC' | 'MANUAL_CPM' | 'MAXIMUM_DELIVERY' | 'ENHANCED_CPC' | 'MANUAL_CPV' | 'TARGET_COST' | 'COST_CAP'
          - `optimizationGoal` 'IMPRESSIONS' | 'QUALIFIED_LEADS'
          - `offsiteDeliveryEnabled` boolean
          - `excludedIabCategories` string[]
          - `audienceExpansionEnabled` boolean
          - `trackingParameters` object[]
            - `key` string, required
            - `kind` 'custom' | 'dynamic', required
            - `value` string, required
          - `conversionIds` string[]
          - `logoMediaId` string, uuid
          - `backgroundMediaId` string, uuid
          - `organizationName` string
          - `showMemberProfilePhoto` boolean
          - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
          - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
          - `spotlightCallToAction` string
          - `cards` object[]
            - `mediaId` union, required
              - …
            - `headline` string, required
            - `landingUrl` string, required
            - `altText` string
          - `mediaId` string, uuid
          - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
          - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
            - `name` string, required
            - `content` string, required
          - `documentPreviewPages` integer
          - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
          - `creativeName` string, required
          - `headline` string, required
          - `description` string, required
          - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
          - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
          - `personalizedDescription` string
          - `landingUrl` string, required
          - `ads` object[]: The ads after the first, which the top-level ad fields describe, up to 5 ads in all. Each has its own name, text, media and destination; the format, Page and lead form are shared. Not available with existingPost.
            - `logoMediaId` string, uuid
            - `backgroundMediaId` string, uuid
            - `organizationName` string
            - `showMemberProfilePhoto` boolean
            - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
            - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
            - `spotlightCallToAction` string
            - `cards` object[]
              - …
            - `mediaId` string, uuid
            - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
            - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
              - …
            - `documentPreviewPages` integer
            - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
            - `creativeName` string, required
            - `headline` string, required
            - `description` string, required
            - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
            - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
            - `personalizedDescription` string
            - `landingUrl` string, required
          - `selectedAd` integer: The ad open in the composer, by position. Ignored by creation.
          - `pageId` string
          - `locationIds` string[], required
          - `locationType` 'locations' | 'profileLocations'
          - `excludedLocationIds` string[]
          - `profileLocale` string
          - `targeting` object
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `targetingGroups` object[]
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `excludedTargeting` object
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `locationNames` object
          - `excludedLocationNames` object
          - `groupName` string, required
          - `campaignName` string, required
          - `budgetMode` 'DAILY' | 'LIFETIME' | 'DAILY_AND_LIFETIME'
          - `dailyBudget` string, required
          - `totalBudget` string, required
          - `bid` string, required
          - `startAt` string, required
          - `endAt` string, required
          - `noEndDate` boolean
        - object
          - `parentRevision` string: Server-bound inherited settings. Keep when saving a returned draft; recalculated on submission.
          - `existingGroupId` string
          - `existingCampaignId` string
          - `useCampaignBudget` boolean
          - `groupBudgetOptimization` 'DYNAMIC'
          - `nonPolitical` true: Confirms that no ad is political advertising under the law of the targeted countries, including EU law. The dashboard ticks it by default, and ads.linkedin.operations.create treats a missing value as true.
          - `format` 'text' | 'image' | 'video' | 'carousel' | 'document' | 'follower' | 'spotlight'
          - `objectiveType` 'BRAND_AWARENESS' | 'WEBSITE_VISIT' | 'ENGAGEMENT' | 'LEAD_GENERATION' | 'WEBSITE_CONVERSION' | 'VIDEO_VIEW'
          - `leadFormId` string
          - `newLeadForm` object
            - `name` string, required
            - `headline` string, required
            - `description` string, required
            - `privacyPolicyUrl` string, uri, required
            - `legalDisclaimer` string
            - `confirmationMessage` string, required
            - `landingUrl` string, uri, required
            - `questions` object[], required
              - …
            - `consents` object[]
              - …
            - `hiddenFields` object[]
              - …
          - `newConversion` object
            - `name` string, required
            - `method` 'WEBSITE' | 'EVENT' | 'CONVERSIONS_API', required
            - `type` 'ADD_TO_CART' | 'DOWNLOAD' | 'INSTALL' | 'KEY_PAGE_VIEW' | 'LEAD' | 'PURCHASE' | 'SIGN_UP' | 'OTHER' | 'SAVE' | 'START_CHECKOUT' | 'SCHEDULE' | 'VIEW_CONTENT' | 'VIEW_VIDEO' | 'ADD_BILLING_INFO' | 'BOOK_APPOINTMENT' | 'REQUEST_QUOTE' | 'SEARCH' | 'SUBSCRIBE' | 'AD_CLICK' | 'AD_VIEW' | 'COMPLETE_SIGNUP' | 'SUBMIT_APPLICATION' | 'PHONE_CALL' | 'INVITE' | 'LOGIN' | 'SHARE' | 'DONATE' | 'ADD_TO_LIST' | 'START_TRIAL' | 'OUTBOUND_CLICK' | 'CONTACT' | 'QUALIFIED_LEAD', required
            - `postClickAttributionWindowSize` union, required
              - …
            - `viewThroughAttributionWindowSize` union, required
              - …
            - `attributionType` 'LAST_TOUCH_BY_CAMPAIGN' | 'LAST_TOUCH_BY_CONVERSION', required
            - `urlMatchRuleExpression` array[]
              - …
            - `valueType` 'NO_VALUE' | 'FIXED' | 'DYNAMIC', required
            - `value` string
          - `existingPost` string
          - `biddingStrategy` 'MANUAL_CPC' | 'MANUAL_CPM' | 'MAXIMUM_DELIVERY' | 'ENHANCED_CPC' | 'MANUAL_CPV' | 'TARGET_COST' | 'COST_CAP'
          - `optimizationGoal` 'IMPRESSIONS' | 'QUALIFIED_LEADS'
          - `offsiteDeliveryEnabled` boolean
          - `excludedIabCategories` string[]
          - `audienceExpansionEnabled` boolean
          - `trackingParameters` object[]
            - `key` string, required
            - `kind` 'custom' | 'dynamic', required
            - `value` string, required
          - `conversionIds` string[]
          - `logoMediaId` string, uuid
          - `backgroundMediaId` string, uuid
          - `organizationName` string
          - `showMemberProfilePhoto` boolean
          - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
          - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
          - `spotlightCallToAction` string
          - `cards` object[]
            - `mediaId` string, uuid, required
            - `headline` string, required
            - `landingUrl` string, uri, required
            - `altText` string: Accessible image description, up to 300 characters.
          - `mediaId` string, uuid
          - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
          - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
            - `name` string, required
            - `content` string, required
          - `documentPreviewPages` integer
          - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
          - `creativeName` string, required
          - `headline` string, required
          - `description` string, required
          - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
          - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
          - `personalizedDescription` string
          - `landingUrl` string, required
          - `ads` object[]: The ads after the first, which the top-level ad fields describe, up to 5 ads in all. Each has its own name, text, media and destination; the format, Page and lead form are shared. Not available with existingPost.
            - `logoMediaId` string, uuid
            - `backgroundMediaId` string, uuid
            - `organizationName` string
            - `showMemberProfilePhoto` boolean
            - `followerHeadline` 'MEMBER_YOU_MIGHT_LIKE_TO_FOLLOW' | 'MEMBER_KEEP_UP_WITH_LATEST_INSIGHTS' | 'custom'
            - `followerDescription` 'KEEP_UP_WITH_INTERESTING_RELEVANT_UPDATES' | 'RECEIVE_DAILY_OR_WEEKLY_ORGANIZATION_UPDATES' | 'custom'
            - `spotlightCallToAction` string
            - `cards` object[]
              - …
            - `mediaId` string, uuid
            - `videoThumbnailMediaId` string, uuid: Optional JPG or PNG thumbnail for a new video ad, up to 2 MB, matching the video dimensions.
            - `videoCaptions` object: Optional English plain-text SRT captions for a new video ad, up to 1 MB. Provide the filename and UTF-8 file content.
              - …
            - `documentPreviewPages` integer
            - `callToAction` 'LEARN_MORE' | 'SIGN_UP' | 'DOWNLOAD' | 'REGISTER' | 'CONTACT_US'
            - `creativeName` string, required
            - `headline` string, required
            - `description` string, required
            - `imageAltText` string: Accessible image description. New single image ads only, up to 300 characters.
            - `imageDescription` string: Additional description for Audience Network placements. New single image ads only, up to 300 characters.
            - `personalizedDescription` string
            - `landingUrl` string, required
          - `selectedAd` integer: The ad open in the composer, by position. Ignored by creation.
          - `pageId` string
          - `locationIds` string[], required
          - `locationType` 'locations' | 'profileLocations'
          - `excludedLocationIds` string[]
          - `profileLocale` string
          - `targeting` object
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `targetingGroups` object[]
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `excludedTargeting` object
            - `jobFunctions` string[]
            - `seniorities` string[]
            - `industries` string[]
            - `staffCountRanges` string[]
            - `titles` string[]
            - `titlesAll` string[]
            - `titlesPast` string[]
            - `skills` string[]
            - `yearsOfExperienceRanges` string[]
            - `employers` string[]
            - `employersAll` string[]
            - `employersPast` string[]
            - `followedCompanies` string[]
            - `firstDegreeConnectionCompanies` string[]
            - `growthRate` string[]
            - `revenue` string[]
            - `companyCategory` string[]
            - `degrees` string[]
            - `fieldsOfStudy` string[]
            - `schools` string[]
            - `interests` string[]
            - `memberBehaviors` string[]
            - `buyerGroups` string[]
            - `groups` string[]
            - `ageRanges` string[]
            - `genders` string[]
            - `audienceMatchingSegments` string[]
            - `dynamicSegments` string[]
          - `locationNames` object
          - `excludedLocationNames` object
          - `groupName` string, required
          - `campaignName` string, required
          - `budgetMode` 'DAILY' | 'LIFETIME' | 'DAILY_AND_LIFETIME'
          - `dailyBudget` union, required
            - string
            - ''
          - `totalBudget` union, required
            - string
            - ''
          - `bid` union, required
            - string
            - ''
          - `startAt` union, required
            - string, date-time
            - ''
          - `endAt` union, required
            - string, date-time
            - ''
          - `noEndDate` boolean
      - `state` 'draft' | 'ready' | 'submitting' | 'unknown' | 'failed' | 'complete', required
      - `step` 'conversion' | 'lead_form' | 'assets' | 'group' | 'campaign' | 'creative' | 'sync', required
      - `groupId` string, nullable, required
      - `campaignId` string, nullable, required
      - `creativeId` string, nullable, required: The first ad's creative ID, kept for older callers. ads lists every ad.
      - `ads` object[], nullable, required: One entry per ad in the specification, in order, with the creative ID LinkedIn returned once it was created. Ads are created in order; a stopped creation continues from the first without an ID.
        - `creativeId` string, nullable, required
      - `leadFormId` string, nullable, required
      - `conversionId` string, nullable, required
      - `uploads` object[], nullable, required
        - `slot` 'logo' | 'background'
        - `mediaId` string, uuid, required
        - `kind` 'image' | 'document' | 'video', required
        - `urn` string
        - `status` 'initializing' | 'WAITING_UPLOAD' | 'PROCESSING' | 'AVAILABLE', required
      - `error` string, nullable, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `nextStep` string, required
  - `meta` unknown, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
