---
title: "Build a New Wire Action"
method: POST
path: "/wire/build-request"
tags: ["Wire"]
---

# Build a New Wire Action

`POST /wire/build-request`

## Request

- Base URL: `https://api.anakin.io/v1`
- URL: `https://api.anakin.io/v1/wire/build-request`
- Auth: API key in header `X-API-Key`

Request a brand-new Wire action for a website that isn't in the catalog yet. Describe the site (website_url) and what the action should do or extract (goal); Wire generates and auto-tests a scraper, then publishes it. Asynchronous (returns status "pending") and charges credits, refunded automatically if the build fails.

## Request body

- WireBuildRequest
  - `website_url` string, required: The site to build an action for. The domain is extracted automatically.
  - `goal` string, required: Natural-language description of what the action should do or extract. Be specific — the builder synthesizes the scraper from this.
  - `catalog_id` string: Optional — attach to an existing catalog instead of creating one.
  - `visibility` 'private' | 'public': Action visibility.
  - `force` boolean: Build even if similar actions already exist for the domain (otherwise the request is rejected with ACTION_EXISTS).
  - `actions` string[]: Optional list of separate capabilities to build, each as its own action, for example "search products".
  - `country` string: Optional 2-letter country code to build and test from, for example "US".

## Response `202`

Build request accepted

- WireBuildResponse
  - `status` string: e.g. "pending" — the build runs asynchronously.

## Other responses

- `400`: Bad request — missing or malformed body, or ACTION_EXISTS
- `401`: Missing or invalid API key

---

[API](https://skmtc.dev/anakin/apis/anakin-api.md) · [All operations](https://skmtc.dev/anakin/apis/anakin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anakin/apis/anakin-api/revisions/5eda91e679e5?raw)
