Easy2257
Webhooks

Webhooks

Event-driven notifications from Easy2257 to your platform.

Easy2257 pushes a signed HTTP POST to your server whenever something changes on an account, a scene, or a piece of content you manage.

Register an endpoint

Webhook endpoints are managed in the partner portal at partner.easy2257.com/webhooks.

The callbackUrl you pass to POST /v1/solo-accounts and POST /v1/collab-scenes is stored on the record for your own reference. It does not subscribe you to anything. Deliveries go to the endpoints registered in the portal, and only to those. If you have not registered an endpoint, you receive no events.

Each endpoint has:

PropertyRule
URLMust be https://. URLs that resolve to a private or internal address are rejected at registration and again at delivery time.
Signing secretGenerated per endpoint and prefixed whsec_. Never shared across endpoints, so you can rotate one integration without touching another.
Event subscriptionA list of event types, or * for everything.
Limit5 endpoints per partner.

The portal's test button fires a real signed test.ping delivery at the endpoint, so you can prove your signature check works before any live traffic depends on it.

Envelope

Every delivery of every type has the same body:

{
  "id": "evt_m2k9x1_a7f3qz",
  "type": "solo_account.verified",
  "created": 1714000000,
  "data": { }
}
  • id: unique per delivery attempt series. Deduplicate on this.
  • created: Unix timestamp in seconds.
  • data: the event-specific payload. See the event reference.

Headers

HeaderValue
X-EZ2257-Signaturet=<unix seconds>,v1=<hmac hex>. Verify it before you trust the body.
X-EZ2257-EventThe event type, so you can route to a handler without parsing the body first.
X-EZ2257-DeliveryAn opaque id for this delivery, prefixed del_. Treat it as a log correlation handle only โ€” deduplicate on event.id, not on this. Portal test pings send the literal del_test.

Available events

Solo accounts

EventFires when
solo_account.verifiedThe creator has both paid and passed ID verification, or an already-active account is re-provisioned, or a lapsed subscription renews. This is the signal to unlock uploads.
solo_account.suspendedThe subscription lapsed. Revoke upload access.

Content log

EventFires when
content_log.createdA depiction was logged via POST /v1/solo-accounts/{id}/content.
content_log.deletedA logged depiction was removed, by your DELETE call or by an Easy2257-side takedown.

Collab scenes

EventFires when
collab_scene.createdA scene was created and invite emails went out.
collab_scene.performer_consentedOne performer signed.
collab_scene.performer_refusedOne performer declined. The scene is now blocked.
collab_scene.greenlitEvery performer has signed. This is the signal to publish.
collab_scene.blockedThe scene expired with unsigned performers (14 days from creation).
collab_scene.cancelledThe scene was cancelled via the API.
collab_scene.publication_createdAnother partner registered a publication of a scene you own.
collab_scene.publication_removedAnother partner recorded a takedown of their publication of a scene you own.

Upload sessions

EventFires when
upload_session.solo_completedA creator finished a hosted single-performer attestation session.

Productions

EventFires when
production.documentedA producer finalized documentation, or reissued the sealed package after a correction. Carries the certificate that now stands.
production.takedown_requestedA depicted person submitted a removal request. Carries the deadline you must meet.
production.certificate_renewedThe annual re-attestation issued a fresh certificate and superseded the old one.
production.records_inspectedA federal inspector accessed the records for that production.

Scene verification jobs

These fire for scenes created through the legacy scene verification flow rather than the Solo Creator or Collab Scene surfaces.

EventFires when
performer.id_verifiedA performer on the scene passed ID verification.
performer.forms_signedA performer on the scene signed their compliance forms.
verification.cancelledThe scene was cancelled.

Testing

EventFires when
test.pingYou pressed the test button in the partner portal. Payload is { "message": "This is a test webhook from Easy2257" }.

Next steps

On this page