> ## 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.

# Api-compliance check

> Check if your creative parameters are compliant with current Meta Marketing API (v25.0) requirements. Identifies deprecated features and recommends best practices.

CLI: `adside meta api-compliance check`



## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/workspaces/{workspaceId}/meta/api-compliance/check
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/api-compliance/check:
    post:
      tags:
        - Meta
      summary: Api-compliance check
      description: >-
        Check if your creative parameters are compliant with current Meta
        Marketing API (v25.0) requirements. Identifies deprecated features and
        recommends best practices.


        CLI: `adside meta api-compliance check`
      operationId: meta.check_api_compliance
      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:
                  description: >-
                    Primary ad text/message (single-variant). Mutually exclusive
                    with `bodies`.
                  type: string
                  maxLength: 1024
                headline:
                  description: >-
                    Ad title/headline (single-variant). Mutually exclusive with
                    `titles`.
                  type: string
                  maxLength: 255
                bodies:
                  description: >-
                    Multi-variant primary texts (1–5). When set, the creative is
                    built with asset_feed_spec and must be attached to a Dynamic
                    Creative ad set.
                  minItems: 1
                  maxItems: 5
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 1024
                titles:
                  description: Multi-variant headlines (1–5). Pair with `bodies`.
                  minItems: 1
                  maxItems: 5
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 255
                descriptions:
                  description: Multi-variant descriptions (0–5). Pair with `bodies`.
                  maxItems: 5
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 255
                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
                placement_assets:
                  description: >-
                    Placement asset customization (multi-ratio ad): one image or
                    video per placement bucket, each `placement_group` at most
                    once. Requires `image_hash` as the fallback image for
                    placements not listed. Upload every ratio first
                    (upload_image_from_url / upload_video_from_url) and pass the
                    hashes. Mutually exclusive with `bodies`/`titles` — the
                    resulting creative must be attached to a STANDARD ad set
                    (Meta rejects it in a Dynamic Creative ad set).
                  minItems: 1
                  maxItems: 4
                  type: array
                  items:
                    type: object
                    properties:
                      placement_group:
                        type: string
                        enum:
                          - feed
                          - storiesReels
                          - rightColumn
                          - inStream
                        description: >-
                          Placement bucket this asset serves: `feed`
                          (Facebook/Instagram feeds, Marketplace, video feeds —
                          4:5 or 1:1), `storiesReels` (Stories + Reels — 9:16),
                          `rightColumn` (Facebook right column — 1.91:1),
                          `inStream` (Facebook in-stream video — 16:9, video
                          only).
                      image_hash:
                        description: Pre-uploaded image hash for this placement.
                        type: string
                      video_id:
                        description: >-
                          Pre-uploaded video ID for this placement (instead of
                          image_hash).
                        type: string
                      thumbnail_url:
                        description: Poster frame URL for a video placement asset.
                        type: string
                        format: uri
                    required:
                      - placement_group
                creative_source:
                  description: >-
                    For a static creative from an Adside drop, pass its exact
                    prepared source. The server rechecks destination
                    compatibility, revision, effective copy and placement image
                    hashes before creating anything.
                  type: object
                  properties:
                    dropId:
                      type: string
                      minLength: 1
                      maxLength: 300
                    creativeId:
                      type: string
                      minLength: 1
                      maxLength: 300
                    creativeRevisionId:
                      type: string
                      minLength: 1
                      maxLength: 300
                    adsetId:
                      type: string
                      minLength: 1
                      maxLength: 300
                  required:
                    - dropId
                    - creativeId
                    - creativeRevisionId
                    - adsetId
                  additionalProperties: false
                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
                  maxLength: 255
                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
                url_tags:
                  description: >-
                    URL tags appended to the link URL for tracking (e.g.
                    utm_source=...&utm_medium=...)
                  type: string
              required:
                - name
                - page_id
                - link_url
      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.