Ads API •References / campaigns / Publish or validate a draft campaign

Publish or validate a draft campaign

Publish or validate a drafted campaign and its associated ad sets and ads.

Request

  • ad_account_idstring [uuid]
    Required

    A unique identifier for an Ad Account.

    Example: ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a
  • draft_campaign_idstring [uuid]
    Required

    A unique identifier for the entity.

    Example: ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a
  • actionstring

    Action to be taken on the draft campaign.

    Default: "VALIDATE"Allowed values: "PUBLISH", "VALIDATE"Example: "PUBLISH"
  • draft_hierarchy_versioninteger

    The version of the draft hierarchy.

    Minimum value: 1Example: 1

Response

Published campaign.

Result of publishing or validating a campaign draft

    • idstring [uuid]

      A unique identifier for the entity.

      Example: "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a"
    • namestring

      Name given to identify your campaign.

      Pattern: ^\S.*\S$Length between 2 and 200Example: "Spotify Ads Summer Campaign 2022"
    • created_atstring [date-time]

      Date the entity was created. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • updated_atstring [date-time]

      Date the entity was updated. Time should be in ISO 8601 format using Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ

      Example: "2026-01-23T04:56:07Z"
    • purchase_orderstring

      A purchase order number, to be shown on your invoice, for your own personal organization.

      Length between 2 and 45Example: "ORDER_1"
    • statusstring

      Current state of campaign.

      Allowed values: "UNSET", "ACTIVE", "PAUSED", "ARCHIVED", "AGENT_CONTROLLED", "ACTIVE_RESTRICTED", "PENDING_ADVERTISER_REVIEW", "UNRECOGNIZED"Example: "ACTIVE"
    • objectivestring
      Deprecated

      Deprecated: Use delivery_goal_group and delivery_goal on ad sets instead. Objective for a campaign. UNSET should not be used.

      Default: "EVEN_IMPRESSION_DELIVERY"Allowed values: "UNSET", "REACH", "EVEN_IMPRESSION_DELIVERY", "CLICKS", "VIDEO_VIEWS", "PODCAST_STREAMS", "APP_INSTALLS", "WEBSITE_VISITS"Example: "EVEN_IMPRESSION_DELIVERY"
    • delivery_goal_groupstring

      deliveryGoal group grouping selection for a campaign.

      Allowed values: "UNSET", "AWARENESS", "WEBSITE_TRAFFIC", "APP_PROMOTION", "ENGAGEMENT_ON_SPOTIFY", "LEAD_GEN"
  • List of validation errors across the campaign hierarchy

    • validation_entity_typestring
      Allowed values: "CAMPAIGN", "AD_SET", "AD"
    • validation_entity_idstring [uuid]

      A unique identifier for the entity.

      Example: "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a"
    • messagestring

      Error message describing the validation issue

      Example: "Ad set targeting is required"

Response sample

{  "campaign": {    "id": "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a",    "name": "Spotify Ads Summer Campaign 2022",    "created_at": "2026-01-23T04:56:07Z",    "updated_at": "2026-01-23T04:56:07Z",    "purchase_order": "ORDER_1",    "status": "ACTIVE",    "objective": "EVEN_IMPRESSION_DELIVERY",    "delivery_goal_group": "UNSET"  },  "validation_errors": [    {      "validation_entity_type": "CAMPAIGN",      "validation_entity_id": "ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a",      "message": "Ad set targeting is required"    }  ]}