# Effect Embeds

Moving backgrounds for any website, in your colours, from one line of script.

Our moving effects on any website, in your colours: make an embed with one call, paste one script tag, and the effect runs behind your section. 3 credits per embed, then 1 credit per 1,000 page views.

The moving effects behind our own blog and members' pieces, for your pages. Pick an effect (embers, aurora, a flowing current, bubbles, confetti, stardust that follows the pointer and more), pass your colours, and get back a snippet: one script tag, and an attribute on the section it goes behind. Your words stay on top. It pauses when off screen, holds still for visitors who ask for reduced motion, and lowers its own detail on slow devices. Switch an embed off with one call and every copy of the snippet stops.

- Price: 3 credits
- Page: https://meetkatalis.com/apis/effects
- OpenAPI: https://meetkatalis.com/openapi.yaml

## Endpoints

- `GET /api/v1/effects?list=1` — The effects (free, no key)
- `POST /api/v1/effects` — { effect, colors } → token + snippet
- `GET /api/v1/effects` — Your embeds and their views this month
- `DELETE /api/v1/effects?token=…` — Switch one off

## Call it

```bash
curl -H "x-api-key: $KATALIS_API_KEY" \
  "https://meetkatalis.com/api/v1/effects?list=1"
```

```javascript
const res = await fetch("https://meetkatalis.com/api/v1/effects?list=1", {
  headers: { "x-api-key": process.env.KATALIS_API_KEY },
});
if (!res.ok) throw new Error(`Katalis ${res.status}: ${await res.text()}`);
console.log(await res.json());
```

```python
import os, requests

r = requests.get(
    "https://meetkatalis.com/api/v1/effects?list=1",
    headers={"x-api-key": os.environ["KATALIS_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json())
```

## Example response (a real reply)

```json
POST /api/v1/effects  { "effect": "embers", "colors": ["1f6fe5", "57dbaa"] }

{
  "token": "…",
  "effect": "embers",
  "snippet": "<script src=\"https://meetkatalis.com/fx.js\" async></script>
<div data-katalis-fx=\"…\" style=\"min-height:420px\">…your section…</div>"
}
```

## What you'd build with it

- **A hero that moves.** Put an effect behind a landing page's first section without a designer, a video file or a heavy library.
- **Site builders and platforms.** Offer your users moving backgrounds in their own brand colours: one call makes one embed per site.
- **Campaign moments.** Confetti for a launch week, snow for December: switch it on, switch it off.

## Why this one

- **One line, no build step.** A 34 KB script from our CDN; no framework, no video, nothing to host.
- **Considerate by default.** Pauses off screen, respects reduced motion, lowers its own detail on slow devices.
- **Yours to switch off.** One call stops every copy of the snippet within a couple of minutes.
- **Fair metering.** 3 credits to make one, then 1 credit per 1,000 views. If the credits run out it pauses, and comes back when the allowance renews. On the free plan a small “Effect by Katalis” link shows; paid plans can remove it.

## Conventions

- Auth: `x-api-key: kat_live_…` on every request (free key at https://meetkatalis.com/developers: a verified email and mobile, 100 credits a month, no card).
- One credit balance across every API; each endpoint's price is on its page and in `x-credits` in https://meetkatalis.com/openapi.yaml.
- Keys are camelCase everywhere. A registered company is `company: { name, number, status, statusDetail?, filingsOverdue? }` on the register endpoints; the enrichment family (enrich, score, assess, brand-kit, ai-visibility, tender-match) keeps `business` / `profile` with `companyNumber`.
- Every error has `code` and `requestId`; every reply an `x-request-id` header; a charged reply `x-credits-remaining`; a reply that gave credits back `x-credits-refunded`. Missing = 404 with `query`.
- Burst ceiling 60 requests a minute per key (429, `Retry-After`, no credits used). A failure on our side (5xx) gives the call's credits back.
- Company data contains public sector information licensed under the Open Government Licence v3.0.

Provided "as is"; results come from public sources and, in places, AI, and may be inaccurate or out of date; not legal, professional or credit advice. Terms: https://meetkatalis.com/apis/terms