> ## Documentation Index
> Fetch the complete documentation index at: https://docs.semicola.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose your operating loop

> Decide whether to work inside Semicola, build your own application, or combine an agent with code that owns progress.

Start from the work, not the technology. A marketer can hand Semi a goal and steer the work in the
app. A developer can write software that decides when to call which tool. A team can move data in and
out with no model at all. All three act on the same records.

| Approach                     | You own                                                       | Semicola provides                                                            | Pick it when                                                                |
| ---------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| **Guided, in Semicola**      | Goals, source material, rules and approvals                   | The app, Semi, the widgets, and every supported buying and selling operation | People want to run campaigns or a storefront without building software.     |
| **Your own application**     | Interface, decisions, schedule, credentials and recovery      | Tools and APIs, the advertising records, seller connections and execution    | Your product already knows the sequence, or moves data between systems.     |
| **Hybrid agent application** | Durable state, allowed actions, approval checkpoints, runtime | The same tools, transaction state and reporting                              | A model interprets briefs or compares offers while your code keeps control. |

Semicola does not host your code. An external application or agent runs its own scheduler, retries
and long-running state.

## Keep decisions apart from transaction state

In a hybrid application, keep the customer's request, approvals, checkpoints and Semicola ids in
your own durable store. Let Semicola own the campaign, creative, media buy and delivery facts, and
read them again when you resume rather than trusting what a model said earlier.

A model may recommend a budget split or a proposal. Your application decides whether that is within
policy and who must approve it. Semicola still enforces permissions, seller readiness, creative
review and launch confirmation; your own approval does not bypass them.

## MCP or REST, job by job

| Job                                                    | Start with                                             |
| ------------------------------------------------------ | ------------------------------------------------------ |
| Let a coding agent explore or operate an account       | v3 MCP with OAuth, then `get_status` and `tools/list`. |
| Build an external agent with typed advertising tools   | v3 MCP, plus your own runtime and store.               |
| Scheduled exports or plain HTTP integrations           | The REST API with an API key.                          |
| Agent decisions plus deterministic imports and exports | v3 MCP for the agent, REST where the operation lives.  |

OAuth tokens are bound to the endpoint they were issued for, so a `/mcp/v3` token cannot call REST.
See [Authentication](/v3/authentication) before mixing surfaces.

## Does your software need its own identity?

A coding agent using a person's OAuth connection acts as that person; it needs nothing else. Give
software its own API key when it runs unattended, and keep that key in a secret manager. A key never
grants access to advertisers its owner could not already reach.

<CardGroup cols={2}>
  <Card title="Connect in five minutes" icon="plug" href="/v3/quickstart">
    Prove access with a read-only call.
  </Card>

  <Card title="Build an agent" icon="robot" href="/v3/build-an-agent">
    Grow a prototype into a buying loop that survives retries.
  </Card>
</CardGroup>
