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

# Creative-enhanced validate

> Enhanced creative validation with comprehensive checks including page permissions, image accessibility, and Meta API compliance. Provides detailed feedback and fix suggestions.

CLI: `adside meta creative-enhanced validate`



## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/meta/creative-enhanced/validate
openapi: 3.1.0
info:
  title: Adside API
  version: 1.0.0
  description: >-
    Campaigns, creatives, assets and reporting across your ad accounts. Call it
    with a personal API key as a bearer token, or with the `adside` CLI: each
    page names its command.
servers:
  - url: https://api.adside.ai
    description: Production
security:
  - userAccess: []
tags:
  - name: Account
  - name: Reporting
  - name: Meta
  - name: Google Ads
  - name: LinkedIn
  - name: TikTok
  - name: Reddit
  - name: Snapchat
  - name: X
  - name: Google Tag Manager
  - name: Creatives
  - name: Creative styles
  - name: Media
  - name: Characters
  - name: Assets
  - name: Brands
  - name: Brain
  - name: Research
  - name: Boards
  - name: Artifacts
  - name: Audiences
  - name: Ad comments
  - name: Publications
  - name: Routines
  - name: Skills
  - name: To-dos
  - name: Audit
  - name: Credits
paths:
  /v1/workspaces/{workspaceId}/meta/creative-enhanced/validate:
    post:
      tags:
        - Meta
      summary: Creative-enhanced validate
      description: >-
        Enhanced creative validation with comprehensive checks including page
        permissions, image accessibility, and Meta API compliance. Provides
        detailed feedback and fix suggestions.


        CLI: `adside meta creative-enhanced validate`
      operationId: meta.validate_creative_enhanced
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                account_id:
                  description: Meta Ad Account ID (uses configured account if not provided)
                  type: string
                name:
                  type: string
                  minLength: 1
                  description: Creative name
                page_id:
                  type: string
                  description: Facebook Page ID (required for object_story_spec)
                message:
                  type: string
                  description: Primary ad text/message
                headline:
                  description: Ad title/headline
                  type: string
                picture:
                  description: External image URL - must be publicly accessible
                  type: string
                  format: uri
                image_hash:
                  description: Pre-uploaded image hash (alternative to picture URL)
                  type: string
                video_id:
                  description: Video ID for video creatives
                  type: string
                call_to_action_type:
                  description: Call to action button type (40+ supported types)
                  type: string
                  enum:
                    - LEARN_MORE
                    - SHOP_NOW
                    - SIGN_UP
                    - DOWNLOAD
                    - BOOK_TRAVEL
                    - LISTEN_MUSIC
                    - WATCH_VIDEO
                    - GET_QUOTE
                    - CONTACT_US
                    - APPLY_NOW
                    - GET_DIRECTIONS
                    - CALL_NOW
                    - MESSAGE_PAGE
                    - SUBSCRIBE
                    - BOOK_NOW
                    - ORDER_NOW
                    - DONATE_NOW
                    - SAY_THANKS
                    - SELL_NOW
                    - SHARE
                    - OPEN_LINK
                    - LIKE_PAGE
                    - FOLLOW_PAGE
                    - FOLLOW_USER
                    - REQUEST_TIME
                    - VISIT_PAGES_FEED
                    - USE_APP
                    - PLAY_GAME
                    - INSTALL_APP
                    - USE_MOBILE_APP
                    - INSTALL_MOBILE_APP
                    - OPEN_MOVIES
                    - AUDIO_CALL
                    - VIDEO_CALL
                    - GET_OFFER
                    - GET_OFFER_VIEW
                    - BUY_NOW
                    - ADD_TO_CART
                    - SELL
                    - GIFT_WRAP
                    - MAKE_AN_OFFER
                    - BUY_TICKETS
                    - EXPLORE_MORE
                    - GET_PROMOTIONS
                    - GET_SHOWTIMES
                    - LISTEN_NOW
                    - SAVE
                    - SEE_DETAILS
                    - SEE_MENU
                    - WATCH_MORE
                    - WHATSAPP_MESSAGE
                link_url:
                  type: string
                  format: uri
                  description: >-
                    Destination URL where users will be directed when clicking
                    the ad
                description:
                  description: Additional description text
                  type: string
                instagram_actor_id:
                  description: >-
                    Optional. Instagram Business Account ID of the Page's
                    Instagram account (typically starts with 1784) — the
                    instagram_account_id `adside meta account-pages get` reports
                    for that Page. When omitted the tool resolves the identity
                    itself: the Page's Instagram business account, else — for
                    placement-customised and variation creatives only, which
                    Meta refuses without one — its Page-backed Instagram account
                    (created when the Page has none — a write on the workspace's
                    Page the result calls out), else the Page actor override. A
                    standard creative is left without one when the Page has no
                    Instagram account. The result reports which one it used in
                    instagram_identity
                  type: string
                adlabels:
                  description: Ad labels for organization and tracking
                  type: array
                  items:
                    type: string
                enable_standard_enhancements:
                  default: false
                  description: Enable Standard Enhancements with individual feature control
                  type: boolean
                enhancement_features:
                  description: Individual enhancement feature controls
                  type: object
                  properties:
                    enhance_cta:
                      default: true
                      description: Enhance call-to-action buttons
                      type: boolean
                    image_brightness_and_contrast:
                      default: true
                      description: Auto-adjust image brightness and contrast
                      type: boolean
                    text_improvements:
                      default: true
                      description: Improve ad text readability
                      type: boolean
                    image_templates:
                      default: false
                      description: Apply image templates and frames
                      type: boolean
                attachment_style:
                  default: link
                  description: Attachment style for link ads
                  type: string
                  enum:
                    - link
                    - album
                caption:
                  description: Caption text (typically domain name)
                  type: string
              required:
                - name
                - page_id
                - message
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
      security:
        - userAccess: []
components:
  securitySchemes:
    userAccess:
      type: http
      scheme: bearer
      description: >-
        A personal API key (`adside_pat_…`) or a token from `adside login`.
        Either carries the permissions of the person it belongs to.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.