---
title: "Get library ad"
method: GET
path: "/open/v1/ad-library/{ad_id}"
tags: ["Ad Library"]
---

# Get library ad

`GET /open/v1/ad-library/{ad_id}`

Fetch the full record for a single ad from Atria's global ad library, including creative assets (images / videos), copy, CTA and brand metadata.

Returns: `code=0` success; `code=40401` when no ad matches the id in the global catalog.

## Path parameters

- `ad_id` string, required — Atria-prefixed ad identifier. Format `m*` (Meta-origin) or `t*` (TikTok-origin). Obtain it from any list endpoint's `items[].id` field. Do **not** pass the raw platform-side numeric id — the `platform_native_id` field on OpenLibraryAd is informational only and not accepted on this path.

## Response `200`

Successful Response

- OpenLibraryAdResponse — Envelope for all open API responses. code=0 means success.
  - `code` integer
  - `message` string
  - `data` OpenLibraryAd — A single ad creative from Atria's global ad library (Meta + TikTok). Returned by the ad-library search / saved / detail endpoints and by the board-scoped and library-brand-scoped list endpoints (all read from the same ES catalog, only the filter differs).
    - `id` string, required — Atria-prefixed stable ad identifier. Format `m*` (Meta) or `t*` (TikTok). Use this value for path parameters on ad-detail and ad-script endpoints.
    - `platform_native_id` string — Raw platform-native ad id (Meta `ad_archive_id`, TikTok ad id). Useful only when cross-linking to external systems; not accepted on any Atria path parameter — use `id` for that.
    - `status` string — Ad lifecycle status: `active` (currently running) or `inactive` (stopped).
    - `brand_id` string — Atria-prefixed id of the advertising brand (matches `OpenLibraryBrand.id`).
    - `brand_name` string — Display name of the advertising brand.
    - `platforms` string[] — Platforms this ad ran on. Values from `OpenAdPlatform` (`facebook`, `instagram`, `tiktok`, ...).
    - `display_format` string — Creative format: `image`, `video`, `carousel` (multi-card swipe), or `dco` (dynamic creative; variants live in the merged `images` / `videos` arrays).
    - `title` string — Ad headline / title copy.
    - `body` string — Primary body copy.
    - `caption` string — Caption / link description shown beside the creative.
    - `cta_text` string — Call-to-action button label shown to users (e.g. `Shop now`, `Learn more`).
    - `link_url` string — Destination URL the ad sends clicks to (e.g. product page, landing page). Distinct from the Atria-side ad preview.
    - `images` OpenAdImage[] — Image media attached to the ad (carousel cards flatten in here too).
      - `url` string — Direct image URL.
      - `width` integer — Width in pixels.
      - `height` integer — Height in pixels.
    - `videos` OpenAdVideo[] — Video media attached to the ad.
      - `url` string — Direct video URL (HD preferred, SD fallback).
      - `preview_image_url` string — Thumbnail / poster frame extracted from the video.
      - `width` integer — Width in pixels.
      - `height` integer — Height in pixels.
      - `duration` number — Duration in seconds.
    - `start_date` string — First date the ad was observed running (ISO-8601 `YYYY-MM-DD`).
    - `end_date` string — Last date the ad was observed running (ISO-8601 `YYYY-MM-DD`). Null for ads still active.

## Other responses

- `400` — Invalid request — a query parameter, path parameter, or body field failed validation.

---

[API](https://skmtc.net/tryatria/apis/atria-open-api.md) · [All operations](https://skmtc.net/tryatria/apis/atria-open-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryatria/atria-open-api/revisions/548d57b611ea/schema)
