# Make changes through the API

27 Oct 2026 · Install & API · https://highseat.com/changelog/write-api

`Terminal`
```
curl https://api.highseat.com/v1/sites/example.com/goals \
  -H "Authorization: Bearer hs_live_…" \
  -H "Idempotency-Key: 7f3c2a10-3f4e-4b7e-9d21-1c6a0e5b8f42" \
  -H "Content-Type: application/json" \
  -d '{"name":"Signup","type":"event","match":"signup"}'
```

The API used to read only. A write key can now make the changes an admin makes in the dashboard: create sites, change their settings, and manage goals, funnels, saved reports, chart notes and share links. It can also start a raw export.

Choose a key's access when you create it in Workspace settings, API keys. Every key made before writes existed stays a read key. Give a script a write key only when it changes something, and limit it to the sites it changes.

Send an `Idempotency-Key` header with a `POST` to make a retry safe. For 24 hours, a retry with the same key and the same body writes nothing and answers what the first call did.
