Zernio
APIFor you
Zernio
APIFor you
API Reference

Creatives

Creative libraryGETAd image libraryGETAd video libraryGETList TikTok ad identitiesGETList partnership ad contentGETList partnership permissionsGETCreate a standalone creativePOSTCreative detailsGETDirect video and image URLs for an adGETRender previews of an existing adGETGet ad video processing statusGETSet partnership permissionPOSTRename a creativePUTDelete a creativeDELETEDelete an ad videoDELETERender pre-create ad previewsPOSTUpload an ad image from base64POSTUpload an ad videoPOST
Dashboard
OverviewPlatformsAPI ReferenceResources
Creatives

Set partnership permission

Asks a creator for permission to run Partnership Ads with their content, or revokes it (private beta).

Requests permission from a creator or revokes it when revoke is true. Requests require the creator to approve in Instagram. Requires instagram_branded_content_ads_brand permission.


PlatformsMeta
POST
/v1/ads/partnership-permissions

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adcreatives.setPartnershipAdPermission({  body: {    accountId: 'account_abc123',    creatorUsername: 'Example',  },});console.log(data);
{  "permission": {    "id": "123456789",    "permissionType": "AD",    "status": "PENDING"  }}
Was this page helpful?

Get ad video processing status

Checks whether an uploaded Meta ad video has finished processing and is ready to use in an ad. Reads a video's processing state live from Meta (`GET /{video-id}?fields=status`). Poll this after `POST /v1/ads/videos` with `async: true` until `status` is `ready`; the video is only usable as `video.id` on the create endpoints from then on. `status` is normalised: `ready`, `error` (Meta's `error` or `expired`), and `processing` for every other Meta state. `platformStatus` carries Meta's raw `video_status` and `processingProgress` Meta's 0-100 percentage when it reports one. Polling every 5 to 10 seconds is plenty.

Rename a creative

Renames a Meta creative (Meta does not allow other changes, so make a new creative to change its content). Creatives are immutable on Meta beyond `name`. For content changes create a new creative (POST /v1/ads/creatives) and swap it onto the ad (PUT /v1/ads/{adId} with `creative`).

accountId*string
Match^[a-fA-F0-9]{24}$
creatorUsername*string
Length1 <= length
revoke?boolean