Skip to content
ReinoAds

IntegrationIntegration Preview

Ad Decision

Send decision requests to the Decision Engine, understand request parameters and outcome types.

Preview

The endpoint path, field names and outcome values are illustrative; the exact schema is in your account-specific documentation.

Every ad impression starts with a decision request. The Decision Engine runs the request through policy, commercial, brand safety and source eligibility checks in order. If any step cannot reach a definitive result, the engine fails closed and serves nothing.

const decision = await reinoAds.requestAd({
  placement: "rewarded",
  audience: "premium-fans",
  policy: "brand-safe"
});
POST/v1/decisionsCreates an ad decision for a placement. Callable with a secret key (server) or a publishable key (SDK).Integration Preview

Request body

  • placementstringrequired

    Placement ID or name, e.g. rewarded.

  • policystringoptional

    Name of the policy to apply. Defaults to the placement's default policy.

  • audienceobject | stringoptional

    Audience signals. Either an object with a segments list or the name of an audience defined in the dashboard, e.g. premium-fans.

  • consentobjectrequired

    KVKK and personalization consent flags. See Audience Signals.

  • contextobjectoptional

    Contextual information such as screen, game mode or content category.

  • formatsstring[]optional

    Accepted formats: banner, native, interstitial, video, rewarded_video, sponsored_placement, branded_challenge, game_sponsorship, reward_sponsorship.

  • testbooleanoptional

    When true, a test creative is returned and the impression is not billed.

curl https://api.reinoads.com/v1/decisions \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "placement": "match_end_banner",
    "policy": "brand-safe",
    "formats": ["banner", "native"],
    "audience": { "segments": ["club_affinity:gs", "age_25_34"] },
    "consent": { "kvkk": true, "personalized_ads": true },
    "context": { "screen": "match_end", "content_category": "sports" }
  }'
outcomeMeaningRecommended handling
servedAn ad that passed every check was selected.Render the creative and report impression and click events.
house_adNo eligible ad; the placement's house ad was returned.Render the house ad; it generates no revenue.
no_fillNeither an eligible ad nor a house ad was found.Hide or collapse the slot.
blocked_by_policyThe request was blocked by a policy, commercial rule or kill switch.Hide the slot and log the reason field.

Check order

reason.stage tells you where the block happened: policy_check, commercial_check, brand_safety or source_eligibility. Blocks caused by a kill switch return the code kill_switch_active.