Easy2257
API Reference

Create Upload Session

POST /api/v1/upload-sessions: hand the attestation form to Easy2257 and build no compliance UI.

Easy2257 hosts the form. Post the content facts, redirect the uploader to hostedUrl, and Easy2257 captures the producer attestation with IP, user agent, and timestamp. You build no compliance UI, and the attestation text you would otherwise have to draft and version lives on our side.

detectedFaceCount decides the whole flow. 1 records a solo attestation and fires upload_session.solo_completed. 2 or more opens a collab scene from the collaborators the uploader names, emails them, and fires collab_scene.created carrying uploadSessionId so you can match the event back to your content row. Send the count your own pipeline detected; the uploader cannot add collaborators to a session you declared solo.

POST
/api/v1/upload-sessions

Authorization

BearerAuth
AuthorizationBearer <token>

Partner API key from partner.easy2257.com/api-keys. Only ez_live_ keys are accepted. A key beginning with ez_test_ is rejected with 403 and code TEST_MODE_UNAVAILABLE before any handler runs: there is no sandbox, and every handler writes production records, provisions real users, and sends real email. New partner accounts start with a test key, so create a live key before your first call.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://easy2257.com/api/v1/upload-sessions" \  -H "Content-Type: application/json" \  -d '{    "contentId": "video_abc123",    "contentType": "image",    "contentTitle": "April 2026 Scene",    "detectedFaceCount": 2,    "uploaderExternalUserId": "user_12345",    "uploaderEmail": "creator@example.com",    "callbackUrl": "https://your-platform.com/webhooks/ez2257",    "redirectUrl": "https://your-platform.com/uploads/video_abc123"  }'
{
  "sessionId": "cmd6t2p5x0001qz8h7f3d9k4w",
  "token": "3f9c1d...",
  "hostedUrl": "https://easy2257.com/upload-attestation/3f9c1d...",
  "status": "created",
  "expiresAt": "2026-04-25T18:00:00Z"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "Too many requests. Please slow down.",
  "retryAfter": 14,
  "limit": 60,
  "remaining": 0,
  "reset": 1714000060000
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}