# Your first guest post in five minutes (self-serve, with an agent)

What you need: a Linkio account on self-serve billing, an API key from https://www.linkio.com/account/api-keys,
and Claude Code (or Claude.ai / ChatGPT with the Linkio connector; see the keys page). The agent does the
work; you answer one question at a time. It asks you before anything that spends or sends; "The rules it keeps"
says what enforces that.

## 0. Money first (30 seconds)
No account yet? Sign up from the API: `POST /api/signup`, read the code from the mail, `POST /api/signup/verify`,
and the answer carries your first key ([Sign up as an agent](/docs/agents/signup)).
Either add your own provider keys at https://www.linkio.com/account/ai-keys (OpenAI and DataForSEO keys
together give the $10 free start; Hunter, MillionVerifier, QuickEnrich and Instantly keys go on the same page),
or add money at https://www.linkio.com/shop, or add a card at https://www.linkio.com/billing.
Every paid step tells you what it will hold before it runs; a step the account cannot fund answers with
those three links instead of running.

## 1. Connect (1 minute)
```
export LINKIO_API_KEY=acc_your_key
claude plugin marketplace add ajaypag/linkio-link-building-agent
claude plugin install linkio@linkio
```
(From a checkout of the Linkio repo, `claude --plugin-dir ./plugins/linkio` works too. Without the plugin:
`claude mcp add --transport http linkio https://mcp.linkio.com/mcp --header "Authorization: Bearer acc_your_key"`.)
Use a key that can write (the Automation level on the keys page). A Reporting or Read only key gives the
agent read tools only.
Then: "I run https://yoursite.com and I want links to my pricing page."

## 2. What the agent does, and what it asks you
| Minute | The agent | You |
|---|---|---|
| 1 | Reads your site and the account, proposes the pages to link to and the keywords, says what the account can fund | "go", or correct it |
| 2 | Creates your brand and pages, activates a monthly plan. Adding a page also generates its keywords and description by default: 17c a page is held first on Linkio's OpenAI key, and the charge is the real cost plus 20% plus the fee; on your own OpenAI key the hold and the charge are the fee alone, 2c a page. With `autoGenerate: false` it adds the pages bare and stores keywords it chose itself | "go" for the page keywords |
| 3 | Searches the site inventory (0.25c a site after the first 100 a day, counted per UTC day), shows a short table: site, authority, traffic, price, seller (owner or reseller, proven or not), record with Linkio (delivered 6 of 6, 10 days) | pick, or say "your call under $150"; say "owners only" to change the seller policy |
| 4 | Opens the order for the picks; attaches an article you wrote (`order_byoc_upload`), or runs Linkio's article system (`article_gen_start`) on your OpenAI key or Linkio's, the hold shown first | approve the article |
| 5 | Shows you the exact message to the publisher | "yes" sends it |

After that it watches: tells you when the publisher replies, when the link is live (it opens the page and
checks the link itself, then asks you to pass or fail it: `line_item_qa_decision`), when an invoice arrives (you pay the publisher directly, at the price you saw;
the agent shows the link and the amount, and records the payment when you say you paid), and what the
month cost (`usage_jobs`).

## Article creation: what runs
Two paths, both ending in a document the publisher receives:
- Bring your own content: `order_byoc_upload` attaches an article written outside Linkio to the order item
  (`articleUrl` is any http(s) link that opens without a login); every content step marked complete, ready for the publisher.
  To say so before the article exists, add the site with `ownContent: true` (`line_items_add_to_order`) or set it
  later (`line_items_update`): nothing starts an AI topic or article on that item until you upload it or clear the
  choice (`ownContent: false`, or `overrideOwnContent: true` on `topic_gen_start`).
- Linkio's article system: `article_gen_start` runs `topic-generation`, `article-draft`, `content-audit`,
  `fact-checking`, `final-polish`, `formatting-qa`, `internal-links`, `client-mention`, `client-link`, `images`
  and `url-suggestion`, then writes a Google Doc; 15-30 minutes, `article_gen_status` reports progress. On your
  saved OpenAI key the provider bills you at cost and Linkio charges 3c per completed step plus 2c when the
  article completes; on Linkio's key the same fees apply plus provider cost plus 20%.
- For a link insertion into an existing article: `workflow_generate_listicle` drafts a new entry for a "Top N"
  article; `workflow_generate_contextual` drafts the one to three sentences that carry your link.

## Checking a site before you buy it
A site found by `website_search` or `ai_find_sites_start` comes with its keyword overlap and grade. A site you name
yourself has none until it is analyzed: DataForSEO keyword overlap with your target pages, an AI grade
(high_quality, good_quality, marginal_quality or disqualified) and the best matching target page, 1-3 minutes per site.
- Before an order: `bulk_analysis_add_domains` (no project needed; the analysis starts at once).
- On an order: `line_items_analyze`, or `qualify: true` on `line_items_add_to_order`. The grades show in
  `line_items_qualification`.
Each site costs the provider cost plus 20%, plus the per-site compute fee; about 17c a site is held first.

## The rules it keeps
- One question per message. Proposal first, question last.
- Before it sends anything to a publisher or records a payment, it shows you the exact text or amount and
  waits for your yes. That is a rule the agent keeps; the Linkio server does not wait for you. These do enforce it:
  - `workflow_send_to_publisher`, `line_item_message_publisher`, `line_item_close`, `line_item_replace_site` and
    `account_publisher_invoice_mark_paid` are marked destructive, so a client that honours the mark (Claude.ai,
    ChatGPT) asks you before each call unless you told it to always allow that tool.
  - `workflow_send_to_publisher` with `checkOnly: true` shows the mail as it would go out and sends nothing.
  - A Read only key cannot send or record a payment: it can only read.
  - "Ask me before any job over $X" in your spending limits stops a paid job above that amount until you approve it.
- Every number comes from a tool result or a page it opened; it says "my judgment" otherwise.
- A site is described by its numbers, its record and its seller: owner or reseller, proven or not, never a
  reseller's name. The seller policy decides which seller is booked (section 10 of
  [API for account callers](/docs/api#api-for-accounts)).
- When a tool fails or is missing, it tells Linkio with `report_issue` and tells you what it sent.

## Without an agent
The same steps are buttons in the app: https://www.linkio.com/orders/new. Each paid button shows the hold
under it; the billing page shows what you paid for.

## API and MCP
Everything above is a tool call: `account_me`, `client_create`, `target_pages_add`, `website_search`,
`ai_find_sites_start`, `order_create`, `order_byoc_upload` or `article_gen_start`, `workflow_send_to_publisher`,
`workflow_verify_publication`, `line_item_qa_decision`, `account_seller_policy_set`, `report_issue`,
`usage_estimate`, `usage_receipt`, `usage_jobs`. Prices:
[Billing, limits and receipts](/docs/api/billing).
