# book_snapback_domain

> Book a Snapback attempt on a dropping domain, so Inleed tries to register it the instant it is released.

- Tier: C
- Required scope: write:billing + write:domains
- Annotations: destructiveHint
- Docs: https://api.inleed.com/tools/book-snapback-domain

## Description

Book a Snapback attempt on a dropping domain, so Inleed tries to register it the instant it is released. This costs money and cannot be undone, so it holds: the call books nothing and returns a confirmation the customer approves themselves — show them the approval and never claim the booking is made until a later result says it was. On approval the price is debited from the prepaid balance immediately and refunded automatically only if the attempt fails; catching the domain is never guaranteed and a booking cannot be cancelled. Take `domain` from `list_snapback_domains` → `data[].domain`; it must be a domain that is actually dropping, not any name the customer likes — to register a free domain use the ordinary order tools instead.

## Input schema

- `domain` — string (required). The dropping domain to book, e.g. example.se.
- `contact_id` — string. The registrant the caught domain is registered to, from get_snapback_eligibility → registrantContacts[].contactId.
- `billing_address_id` — integer. Optional: settle against this billing profile instead of the primary one. It must be Swedish and at the standard VAT rate. Minimum 1.
- `attempt_key` — string. Optional idempotency key. Reuse the same value when retrying a call that timed out, so one booking is held rather than two.

## Example call

```json
{
  "name": "book_snapback_domain",
  "arguments": {
    "domain": "example.se"
  }
}
```

