Zernio
APIFor you
Zernio
APIFor you
API Reference

Reach & Frequency

Create reach-frequency predictionPOSTGet reach-frequency predictionGETCancel reach-frequency bookingDELETEReserve reach-frequency inventoryPOST
Dashboard
OverviewPlatformsAPI ReferenceResources
Reach & Frequency

Reserve reach-frequency inventory

Locks the quoted price and inventory of a Meta reach and frequency prediction so you can launch a campaign on it.

Locks the quoted price + inventory until the returned expiresAt and mints a NEW prediction id. Pass that RESERVED id (not the original) as rfPredictionId on POST /v1/ads/create. Release an unused reservation via DELETE.


PlatformsMeta
POST
/v1/ads/rf-predictions/{predictionId}/reserve

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

predictionId*string

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

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.reachandfrequency.reserveRfPrediction({  path: {    predictionId: 'prediction_abc123',  },  body: {    accountId: 'account_abc123',    adAccountId: 'adaccount_abc123',  },});console.log(data);
{  "adAccountId": "string",  "prediction": {    "predictionId": "string",    "status": "string",    "budget": 0,    "reach": 0,    "impressions": 0,    "minBudget": 0,    "maxBudget": 0,    "minReach": 0,    "maxReach": 0,    "frequencyCap": 0,    "startTime": 0,    "stopTime": 0,    "expiresAt": "string"  }}
Was this page helpful?

Cancel reach-frequency booking

Cancels a Meta reach and frequency reservation, releasing its locked price and inventory. Unreserved predictions expire on their own.

List leads for a single form

Lists the leads submitted through one Meta lead form. Serves persisted leads (ingested via the leadgen webhook) when available, falling back to a live Graph read. Accepts a Facebook account or a metaads business-login account with leads_retrieval access to the form; the latter uses its system-user token without a posting parent. Persisted leads arrive in real time through Meta's webhook, and a background pass re-reads every Page from Meta to catch the leads the webhook misses: every 15 minutes for Pages that received a lead in the last 7 days. `meta.lastCheckedAt` says when that pass last ran, so polling this endpoint faster than that returns nothing new; subscribe to the `lead.received` webhook instead. The live Graph read is cached for 5 minutes, and `meta.lastCheckedAt` is when it was read.

accountId*string
adAccountId*string