---
title: "Create an Assist site"
method: POST
path: "/agent/assist/sites"
tags: ["Assist"]
---

# Create an Assist site

`POST /agent/assist/sites`

## Request

- Base URL: `https://edge.network`
- URL: `https://edge.network/agent/assist/sites`
- Auth: HTTP bearer

AI answers for a website, grounded in its own content. Returns the sitekey and a one-line embed snippet. Free tier: 250 answered questions/month. After creating, host a content index and trigger reingestAssistSite.

## Headers

- `X-Dry-Run` 'true' | 'false'
- `Idempotency-Key` string

## Request body

- object
  - `name` string, required: Friendly name, e.g. "Docs site".
  - `hostname` string, required: Hostname the widget runs on. Origin-enforced: the sitekey only works there.
  - `index_url` string, uri: Public URL of the content index JSON: { "pages": [{ "url", "title", "text" }] }. Can be set later.
  - `site_prompt` string: Optional instructions steering answers (tone, priorities, things to avoid).

## Response `201`

Success.

- object
  - `site` AssistSite, required
    - `id` string, required
    - `name` string, required
    - `hostname` string, required: Hostname the widget is origin-locked to.
    - `sitekey` string
    - `index_url` string, nullable
    - `questions_this_month` number
    - `monthly_cap` number, nullable
  - `tell_user` string: Human-readable summary of what happened, for the agent to relay to its operator.

## Other responses

- `400`: Validation error — the response body explains what to fix.
- `401`: Missing or invalid agent access code. The body includes self-signup pointers.
- `429`: Rate limited. Honour Retry-After and the RateLimit-* headers before retrying.

---

[API](https://skmtc.dev/edge/apis/edge-network-agent-api.md) · [All operations](https://skmtc.dev/edge/apis/edge-network-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/edge/apis/edge-network-agent-api/revisions/49b5f2adf020?raw)
