“Managed” here means using Apostra’s supported product workflows. It does not
mean you can upload arbitrary software and have Apostra host its runtime. A
custom application or external agent owns its own scheduling, retries, and
long-running workflow state today.
Keep business decisions separate from transaction state
For a hybrid application, keep your customer’s request, approval records, workflow checkpoints, and Apostra object IDs in your application’s durable store. Let Apostra own the saved campaign, creative, media buy, and delivery facts. Re-read those objects when resuming instead of treating a model’s prior answer as their current state. An agent can propose a budget or choose among returned offers. Your application decides whether that recommendation is within policy and who must approve it. Apostra still applies account permissions, seller readiness, creative review, funding, and transaction checks. Passing your application’s approval does not skip those checks. This division works for a small loop that reads data and recommends an action, and for a larger application that also manages creative production or external business systems. Add those responsibilities when your product needs them; they do not require a different Apostra campaign model.Choose MCP or REST for each job
The transport does not decide who owns the loop. Code can be an MCP client, and
an agent can call REST through application tools. Prefer MCP when discovery and
model-facing schemas help; prefer REST when direct HTTP requests fit the job.
MCP OAuth credentials are bound to their endpoint. A token issued for
/mcp/v3 cannot be reused on REST or another MCP endpoint. See
Authentication before combining surfaces.