{"components":{"securitySchemes":{"AdvertiserKey":{"in":"header","name":"X-Advertiser-Key","type":"apiKey"},"AdvertiserToken":{"scheme":"bearer","type":"http"}}},"info":{"description":"Create reverse opportunities, compare publisher bids, select a match, browse ranked auctions, and place funded bids.","title":"NetPartner Advertiser API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/v1/advertiser/auctions":{"get":{"responses":{"200":{"description":"Ranked auctions"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"List ranked publisher auctions and your bid history"}},"/api/v1/advertiser/auctions/{auction_id}/bids":{"post":{"parameters":[{"in":"path","name":"auction_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"amount_cents":{"description":"The displayed next bid","minimum":1,"type":"integer"},"max_amount_cents":{"description":"Private maximum to reserve and bid automatically","minimum":1,"type":"integer"}},"required":["amount_cents","max_amount_cents"],"type":"object"}}},"required":true},"responses":{"201":{"description":"Proxy bid recorded; response status says leading or outbid"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"Place a wallet-backed proxy bid"}},"/api/v1/advertiser/auctions/{auction_id}/reserve-decision":{"post":{"parameters":[{"in":"path","name":"auction_id","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"action":{"enum":["approve","reject"],"type":"string"}},"required":["action"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Decision recorded; approval creates the order"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"Approve or reject a publisher-accepted below-reserve bid"}},"/api/v1/advertiser/opportunities":{"get":{"responses":{"200":{"description":"Opportunity list"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"List your opportunities and their bids"},"post":{"responses":{"201":{"description":"Opportunity created"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"Create an advertiser opportunity"}},"/api/v1/advertiser/opportunities/{opportunity_id}":{"delete":{"parameters":[{"in":"path","name":"opportunity_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Opportunity cancelled"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"Cancel an open opportunity"}},"/api/v1/advertiser/opportunities/{opportunity_id}/select/{bid_id}":{"post":{"parameters":[{"in":"path","name":"opportunity_id","required":true,"schema":{"type":"integer"}},{"in":"path","name":"bid_id","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Match and order created"},"400":{"description":"Invalid request"},"401":{"description":"Missing, disabled, or invalid advertiser API credentials"},"404":{"description":"Resource not found or not owned by this advertiser"},"409":{"description":"Resource state or wallet balance prevents the action"},"429":{"description":"Rate limit exceeded; honor the Retry-After response header"}},"summary":"Select a publisher bid and create an escrow order"}}},"security":[{"AdvertiserKey":[],"AdvertiserToken":[]}],"servers":[{"url":"https://netpartner.com"}]}
