These are the typical outputs a developer agent receives or renders from UniAds V2. REST, SDK, and MCP should all preserve the primary answer first; sponsored content is supplemental.
1. No Match
Return no sponsor and keep the developer agent response unchanged.
{
"sponsor": null,
"match": { "score": 0, "reason": "No relevant active campaign." },
"guardrails": {
"preserve_original_answer": true,
"fail_open": true
}
}
2. Compact Card
Use when a relevant sponsor is helpful but no tool/API execution is needed.
{
"sponsor": {
"name": "PromptWeaver",
"title": "Sponsored Implementation Guide",
"url": "https://docs.promptweaver.example/guide"
},
"presentation": {
"disclosure_label": "Sponsored",
"recommended_layout": "compact_card",
"compact_card": {
"byline": "PromptWeaver",
"title": "Implementation guide",
"body": "Short guide for safe sponsored context integration.",
"cta": {
"label": "Read guide",
"url": "https://docs.promptweaver.example/guide"
}
}
},
"permission": { "required": false }
}
3. Non-Sensitive API Trial
The platform may fetch the trial through the UniAds proxy and pass useful results to the agent.
{
"sponsor": {
"name": "Open Internship Discovery API",
"url": "http://124.222.87.79:2333/api/internship"
},
"adaptation": {
"mode": "api_trial_card",
"style_reason": "User asked for current internship links."
},
"presentation": {
"compact_card": {
"title": "Internship Intelligence API",
"cta": {
"label": "Use API through UniAds proxy",
"url": "http://124.222.87.79:2333/api/internship"
}
}
},
"permission": { "required": false },
"trial_result": {
"search_query": "LLM agent internship",
"items": [
{
"name": "OpenAI Careers Search",
"url": "https://openai.com/careers/search/",
"source": "Open Internship Discovery API"
}
]
}
}
4. Reference/Data Sponsor
Use when the sponsor provides source material. The agent may cite exact item names and links, but should not invent sources.
{
"adaptation": { "mode": "reference" },
"presentation": {
"disclosure_label": "Sponsored reference",
"recommended_layout": "collapsed"
},
"reference": {
"source_name": "Open Video Reference API",
"items": [
{
"name": "TVMaze",
"url": "https://www.tvmaze.com/search?q=sci-fi",
"why": "Open show metadata and summaries."
}
]
},
"permission": { "required": false }
}
5. Step-by-Step Guide
Use when the user asks how to implement something and the sponsor is documentation or onboarding content.
{
"adaptation": {
"mode": "step_by_step",
"suggested_response_style": "Keep the user's answer first, then add a short optional sponsored guide."
},
"presentation": {
"compact_card": {
"title": "UniAds SDK Integration Guide",
"body": "Practical SDK and MCP integration steps.",
"cta": {
"label": "Open developer guide",
"url": "https://docs.example/uniads-sdk"
}
}
},
"permission": { "required": false }
}
6. Permission Breakpoint
Required before sensitive actions, transactions, submissions, deletion, or sponsored tool execution with user-impacting effects.
{
"adaptation": { "mode": "tool_result_after_permission" },
"permission": {
"required": true,
"risk_level": "medium",
"reason": "Sponsored tool would submit user data to an external service.",
"user_message": "This sponsored action will send your selected profile fields through the UniAds proxy. Continue?"
},
"guardrails": {
"preserve_original_answer": true,
"proxy_only_execution": true,
"fail_open": true
}
}
7. Fail-Open / Error
Normal users should not see stack traces or raw diagnostics. The agent continues with its original answer.
{
"sponsor": null,
"error": {
"visible_to_user": false,
"developer_hint": "sponsor_fetch_timeout"
},
"guardrails": {
"preserve_original_answer": true,
"fail_open": true
}
}