Productions
Multi-performer scenes with per-scene consent collection and JWT compliance certificates that any auditor can verify offline.
The Productions flow handles content with more than one performer. It collects per-scene consent from every performer before content goes live and issues a signed RS256 JWT certificate your platform stores alongside the content.
What you get
- Per-performer consent collection via magic-link emails — performers sign on their own device, no account on your platform required
- A
collab_scene.greenlitwebhook only after every performer has signed — gate publication on this signal - An RS256 JWT compliance certificate per documented production, verifiable offline against
easy2257.com/.well-known/jwks.json— pass it to any auditor, no API call required - Automatic
production.takedown_requestedwebhooks when a performer pulls consent later, with VIRP 7-day SLA tracking - Annual re-attestation cron that issues a new certificate and revokes the old one
When to use this vs. Solo Creator
Use Productions for multi-performer content (two-creator collabs, group scenes, full studio shoots). Use Solo Creator for single-performer uploads.
You can integrate both — Solo Creator for ordinary single-performer uploads and Productions for collab content. The same partner API key works for both surfaces.
Two integration flavors
Collab Scenes (UGC pattern)
The uploader on your platform is the producer. Easy2257 sends magic-link emails to each tagged performer; they consent via Easy2257 (no account on your platform needed). When all signatures land, you receive collab_scene.greenlit and can publish.
1. POST /v1/collab-scenes (uploader=primary producer, performers=[...])
─► magic-link emails sent to each performer
2. each performer: visit link → consent + register if new
3. collab_scene.greenlit webhook ─► publish content
4. POST /v1/collab-scenes/{id}/publications for every place you publish
5. (optional) POST /v1/collab-scenes/{id}/extend to publish on a sister
platform without re-collecting signatures — sign once, publish everywhereProduction Certificates (full-shoot pattern)
For platforms that wrap a full studio production workflow (where a producer uses Easy2257's UI to manage scenes/talent), the producer documents the production in Easy2257's UI. When they finalize, you receive production.documented with a JWT certificate.
1. producer documents production in Easy2257 UI (linked to your partner)
2. production.documented webhook ─► store certificate alongside content
3. periodically GET /v1/productions/revoked-certificates ─►
if a stored certificate appears, revoke / take down accordingly
4. (optional) POST /v1/productions/{id}/verify-certificate for spot checksThree things to get right
- Do not publish before
collab_scene.greenlit. Acollab_scene.createdresponse means the scene exists, not that consent is collected. Publishing early means you have content from a performer who hasn't signed. - Store the certificate, don't fetch it. The certificate arrives in the
production.documentedwebhook. After that point, verify offline against the public JWKS — there is no "look up the certificate by id" endpoint, on purpose. - Run the CRL cron daily.
GET /v1/productions/revoked-certificatesreturns IDs whose certificates have been revoked (takedown, renewal). For real-time signals, also subscribe toproduction.takedown_requestedandproduction.certificate_renewed.