Webhooks

Finished copy comes to you

A long text takes minutes to write. Instead of polling us, give us a URL — we send an event when it is ready. Signed and retried.

What arrives

POST /twoj-endpoint HTTP/1.1
X-Smart-Copy-Signature: t=1754899200,v1=5d41402abc4b2a76b9719d911017c592
Content-Type: application/json

{
  "event": "text.completed",
  "text_id": "b7f3…",
  "order_id": "a91c…",
  "topic": "A 7.5 kW electric motor",
  "html": "<h2>…</h2>",
  "characters": 4012
}

Events

text.completed

The text is written. The event carries the finished HTML, the featured image and the WordPress publication link, if that was enabled.

text.failed

Generation failed. Funds return to your balance automatically — the event only tells you it happened.

outline.ready

An outline is waiting for approval. Applies to orders where outline approval was switched on.

Why you can trust them

HMAC-SHA256 signature

Every request carries a header signed from the body and your secret. You verify it on your side and know it is really us, not someone who guessed the URL.

Retries

If your server does not answer or returns an error, we try again with a growing delay. A short outage on your side does not lose the event.

Timestamp

The signature covers the send time, so you can reject requests older than a few minutes and close the door on replaying a captured packet.

Endpoint per key

Each API key has its own URL and its own secret. Test traffic goes somewhere other than production.

Point us at a URL and see

On a test key the events arrive exactly as they do in production, only free.